On Dec 30, 2007, at 7:52 PM, Abraham Tio wrote: > Thread.abort_on_exception = true > simulator = Simulator.new > thread = simulator.start > puts "started simulator, now we stop it.." > simulator.stop Others have pointed out not to use join. Of course, once you remove join, the start and stop methods are invoked one right after another, so you must put a sleep(n) between the two to observe the child thread running independent of the main thread.