标签: ruby multithreading macos
假设我创建了一个这样的线程:
thread = Thread.new do loop do puts "tick" sleep(1) end end
如果某个地方我想让这个线程停止这样做并执行some_method(),我该怎么办呢?
答案 0 :(得分:0)
让其他线程设置变量,并且此线程检查其值。这个方法在这个答案中详细阐述:sleep until condition is true in ruby
如果不需要puts "tick",您可以使用条件变量。
puts "tick"