0

次のようなスレッドを作成するとします。

thread = Thread.new do
 loop do
  puts "tick"
  sleep(1)
 end
end

どこかで、このスレッドにそれをやめさせて some_method() を実行させたい場合、どうすればよいでしょうか?

4

1 に答える 1

0

他のスレッドに変数を設定させ、このスレッドでその値をチェックします。アプローチはこの回答で詳しく説明されています: ruby​​ で条件が true になるまでスリープする

必要でない場合puts "tick"は、代わりに条件変数を使用できます。

于 2012-04-19T21:45:51.557 に答える