Rubyにスレッドがあります。ループを実行します。そのループが sleep(n) に到達すると停止し、決して起きません。sleep(n) なしでループを実行すると、無限ループとして実行されます。
スレッドが期待どおりに実行されないようにするために、コードで何が起こっているのでしょうか? どうすれば修正できますか?
class NewObject
def initialize
@a_local_var = 'somaText'
end
def my_funk(a_word)
t = Thread.new(a_word) do |args|
until false do
puts a_word
puts @a_local_var
sleep 5 #This invokes the Fail
end
end
end
end
if __FILE__ == $0
s = NewObject.new()
s.my_funk('theWord')
d = gets
end
私のプラットフォームは Windows XP SP3 です
インストールした ruby のバージョンは 1.8.6 です