我使用“SimpleMUCClient”编写simple bot。但得到了错误:app.rb:73:stop': deadlock detected (fatal)
from app.rb:73:in
'。如何解决?
答案 0 :(得分:1)
您运行的代码很可能是在另一个线程中执行的。然后使用Thread.join()
加入该特定线程(意味着Ruby在退出脚本时等待它完成)。在调用Thread.stop()
的同时调用.join()
很可能是导致死锁的原因。说过你应该遵循StackOverflow关于如何正确提问的指南,因为你还没有这样做,我已经投了你的问题。
在仍然调用Thread.stop
的同时加入一个帖子可以完成如下:
th = Thread.new do
Thread.stop
end
if th.status === 'sleep'
th.run
else
th.join
end
这不是最干净的方式,但它有效。此外,如果您想要实际终止某个帖子,则必须改为调用Thread.exit
。