是否有可能改变线程在Ruby中的作用?

时间:2012-04-19 21:40:53

标签: ruby multithreading macos

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

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

如果某个地方我想让这个线程停止这样做并执行some_method(),我该怎么办呢?

1 个答案:

答案 0 :(得分:0)

让其他线程设置变量,并且此线程检查其值。这个方法在这个答案中详细阐述:sleep until condition is true in ruby

如果不需要puts "tick",您可以使用条件变量。

相关问题