当我运行此代码时,我只看到"循环1"输出一次,然后只是一个循环2",#34;循环2" ...
就像另一个循环正在等待某些事情并最终被永久封锁。
有关原因的任何建议吗?
def loop1(&block)
loop do
block.call("Loop 1")
sleep 1
end
end
def loop2(&block)
loop do
block.call("Loop 2")
sleep 1
end
end
def both(&block)
Thread.new { loop1(&block) }
loop2(&block)
end
both(&method(:puts))
我甚至不确定导致线程循环停止的puts
或block.call()
。