I expect it to print "hello" three times, just as it would if I hadn't
put it inside a thread. Do I need to flush the output or something like
that?
It's a bit surprising that it outputs anything at all! If the above is your entire program, then when the program exits, the thread will be killed. On my system, that means no output at all. In order to wait for the thread to complete (before the program exits), you need to call 'join' on it like so:
t = Thread.new do
3.times{
puts "hello"
}
end
t.join
Hope this helps.
Tom
···
--
* Libraries:
Chronic (chronic.rubyforge.org)
God (god.rubyforge.org)
* Site:
rubyisawesome.com