Thread.Stateが実行中で、スレッドを開始した直後にThread参照をnullに設定します。Javaのスレッドが実行されていて、スレッドの参照を所有していない場合、スレッドはガーベッジ・コレクションを受け取りますか
0
A
答えて
2
すでに他の質問の回答に記載されているように、スレッドはガベージコレクションされません。それはどんなライブスレッドによって到達できない場合は定義により
は、オブジェクトがガベージコレクションのためにのみelligibleである - と私は状態ライブスレッドを実行中のスレッドを検討したいです。 :)のJava 7仕様(12.6.1)から
:
到達オブジェクトは、任意のライブスレッドから任意の潜在的な継続 計算にアクセスすることができる任意のオブジェクトです。
内部的には、JVMの一部にはまだそのスレッドへの参照、たとえばスケジューラがあります。
1
スレッドが実行されている場合、そのスレッドはガベージコレクションに適格ではありません。実行中のスレッドにはタスクがあるため、実行中のスレッドはタスクに悪影響を及ぼす可能性があります。
+0
答えは関連しません質問。本当の答えは、あなたが持っていないスレッドのクラスは、それを参照していることです。 –
関連する問題
- 1. Android:スレッドが並行して実行されていない
- 2. 他のスレッドが実行されていないときに複数のスレッドを実行しますか?
- 3. スレッド化されていないスレッドがスレッド化されていないものより遅い
- 4. Javaスレッドはどのプロセッサで実行されていますか?
- 5. Androidスレッド - 別のスレッドからスレッドを実行し、ハンドラメッセージを待っています
- 6. ブランチではなくタグで参照されている場合、コミットはガーベッジ・コレクションされますか?
- 7. 実行スレッドを新しいスレッドJavaに置き換えてください。
- 8. 他のスレッドが実行されるのを待っているUIスレッド - 動作していない
- 9. HttpServletは、実行可能スレッドまたは拡張スレッドを実装していません。なぜスレッド可能ですか?実行可能するオブジェクトの場合
- 10. Delphi - スレッドはActiveXフォームで実行されていませんが、他の場所で実行されます
- 11. 別のスレッドから少数のスレッドを実行してください
- 12. 最大でn個のJavaスレッドを実行しています
- 13. ThreadPoolExecutorスレッドは他のスレッドと競合しています
- 14. Android:デバイスがロックされていてもスレッドを実行し続ける
- 15. Androidスレッド:スレッドからのビューを参照
- 16. スレッド#実行とスレッド#ウェイクアップの違いは?
- 17. Pythonスレッドでスレッドが順番に実行されているようです
- 18. 新しいスレッドはまだUIスレッドをブロックしています
- 19. Asp.net C#:他のスレッドがスレッド内で実行されているかどうかを確認します。
- 20. executorserviceワーカーが別のスレッドで実行されていません
- 21. Will .Net Garbage参照されていないが、作業中のスレッドがあるオブジェクトを収集しますか?
- 22. このJavaアプリケーションはスレッドを拡張せずに複数のスレッドを実行していますか?
- 23. スレッドは別のスレッドをロックしていますか?
- 24. WINAPI CreateThreadが常にスレッドを実行していない
- 25. スレッド内で実行されていないrunOnUIiThread
- 26. 1つのスレッドは常に他のスレッドのチャンスなしに実行されています
- 27. Nettyスレッドがブロックされています
- 28. いくつかのスレッドが決して実行されない可能性はありますか?
- 29. スレッドがaccept connectionのようなブロッキングコードを実行している場合、pthread_cancelは機能しますか?
- 30. スレッドが実行されていません
可能性のある複製http://stackoverflow.com/questions/5351836/java-do-i-need-to-protect-a-thread-object-from-the-garbage-collector – Bringer128