0

假设我创建了一个这样的线程:

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

如果在某个地方我希望这个线程停止这样做并执行 some_method(),我该怎么做?

4

1 回答 1

0

让另一个线程设置一个变量,这个线程检查它的值。该方法在此答案中进行了详细说明:sleep until condition is true in ruby

如果puts "tick"没有必要,您可以改用条件变量。

于 2012-04-19T21:45:51.557 回答