そのrun()
メソッドの実行が完了した後、スレッドで何をすべき?スレッドをJavaで必要とするクリーンアップはありますか?は、どのようにそのrunメソッドが終了した後のクリーンアップスレッドを実行しますか?
18
A
答えて
30
スレッドの仕事は、いくつかのアンマネージリソース(ネットワークストリーム、ファイルなど)を使用していない限り - 場合をそれ自体後にクリーンアップする必要があります - あなたがする必要があるものは何もありません。スレッドを表すThread
オブジェクトへの参照を保持することは生きている基盤となるOSのスレッドを保持しないこと
注意。
10
run
方法は、それが
2
Nopes実行だ終えたらあなたは、スレッドが終了する、する必要はありません。スレッドはそれ自身で実行され、終了し、ガベージコレクションを取得します。
2
ませんその必要はありません。スレッドがrunメソッドを終了すると、スレッドは終了状態になります。
8
は、一般的にガベージコレクタによって行われるクリーンアップ。スレッドがファイル/ソケットを使用する場合は、それらを閉じる必要があります。ベストプラクティスは、Thread::run
でトップレベルfinally
ブロック内のリソースを閉じることです。
実際には、スレッドではなくデータをクリーンアップする必要があります。
関連する問題
- 1. 起動後のメソッドの実行が終了しました
- 2. 前のメソッドが終了した後にメソッドを実行します
- 3. 他のメソッドがJQUERYで終了した後にメソッドを実行します
- 4. メソッドの終了後にスレッドを実行しますか?
- 5. Thread.Start()はどのようにRunnableのrunメソッドを実行しますか?
- 6. コードの実行終了後、Pythonインタプリタはどのように終了しますか?
- 7. スレッドが完了した後でスレッドのrun()メソッドを実行する
- 8. 他のコンポーネントからのhttp.getが終了した後の角2実行メソッド
- 9. 関数が終了した後にjavascriptを実行します。
- 10. recaptcha.reload()が終了した後にコードを実行します
- 11. メソッドが終了した後にプログラムが実行され続けます
- 12. フラッシュビデオの再生が終了したら、actionscriptの行をどのように実行しますか?
- 13. cleartimeout関数が終了した後に実行します(jQuery)
- 14. メソッドの終了後にonMapReady()の代入が終了しない
- 15. イベントが終了した場合、メソッドを実行するにはどうすればよいですか?
- 16. ビューコントローラが終了した後にのみコードを実行
- 17. Android:メソッドを実行してタイムアウト後に終了する
- 18. UIViewアニメーションの終了後にコードを実行しますか?
- 19. 静的なvarがメソッドを終了した後にその値を失った
- 20. スレッドが終了した後でQt関数を実行するにはどうすればよいですか?
- 21. プロセスはどのように終了しましたか?
- 22. すべてのスレッドがアンドロイドで終了したらどのように機能を実行しますか?
- 23. Unityはどのようにそのメソッドを実行しますか?
- 24. 別のAjax関数が終了した後にアクションを実行します。
- 25. pthreadは実行終了後にpthread_t値をリセットしますか?
- 26. メソッドの終了後、doSostlet()はStartServletでこのメソッドを呼び出さずにメソッドdoGet()を実行します
- 27. Webhookの実行に失敗しました:実行が終了しました
- 28. 実行後にプログラムが終了しますか?
- 29. jQuery:エフェクトが終了した後に何かを実行します。
- 30. 最後のonNext()実行のためのRxJavaコールバックが終了しました
また、Fileオブジェクトが常に「本当の」ファイルを表すとは限らないのと同様に、ThreadオブジェクトがOSスレッドを表すとは限りません。 –
スレッドは動的にクラスを作成し、それらをロードしています....最終的にClassLoaderはメモリ不足になりますか?はいの場合、どうすればそれをきれいにすることができますか? – Stackee007
@ Stackee007:専用のClassLoaderを特別に作成し、作成したすべてのクラスをガベージコレクションできるようにする必要があります。私はこれが元の質問に特に関連しているかどうかわかりません。 –