"SimpleMUCClient"を使用してsimple botを書きます。しかし、エラーが発生しました:app.rb:73:stop': deadlock detected (fatal) from app.rb:73:in
'です。それを修正するには?問題wuth Rubyスレッド
答えて
実行しているコードは、おそらく別のスレッドで実行されている可能性があります。その特定のスレッドは、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
を呼び出す必要があります。
あなたのコードで、私もapp.rb:79: 'join ':デッドロックが検出されました(致命的) \t app.rb:79:'
次にコードの外で起こっていることがあります他の何かがデッドロックの原因となっています。 –
- 1. RubyでのGServerスレッドの問題
- 2. スレッドの問題
- 3. Rubyの問題
- 4. スレッドの問題C#
- 5. VB.Netスレッドの問題
- 6. アダプター+スレッドの問題
- 7. Androidスレッドの問題
- 8. スレッドの問題JAVA
- 9. class_evalの問題Ruby
- 10. Rubyインストールの問題
- 11. Rubyブロックの問題
- 12. Ruby NameErrorの問題
- 13. Dispatcher.InvokeとDispatcher.BeginInvokeのスレッド問題
- 14. スレッド順実行の問題
- 15. スレッド実行の問題
- 16. JList setListDataスレッドの問題
- 17. Powershellスレッド処理の問題
- 18. Javaのスレッドは問題
- 19. Windows Phone 7スレッドの問題
- 20. セマフォとスレッドの問題
- 21. スレッドとループ。準備()問題
- 22. スレッド同期の問題
- 23. DirectShow/WPFスレッドの問題
- 24. 最大スレッドの問題
- 25. オーディオseekBarスレッドの問題?
- 26. RubyとNetbeansの問題
- 27. Ruby + Passenger - Redmineデプロイメントの問題
- 28. Ruby - Authenticate ..ログインの問題
- 29. Ruby on Rails問題PotionStore
- 30. Rubyのバージョンでの問題
修正方法? **デッドロックを起こさない**(これが本当の質問になる前にもっと多くの情報を提供する必要があります...) – jtbandes
サンプルコードを教えてもらえますか? – nucleartux
いいえ、私は本当にできません。 [this](http://stackoverflow.com/questions/how-to-ask)をお読みください。 – jtbandes