現在、私はExecutorService
クラスとnewFixedThreadPool
コマンドをJavaで使用してスレッドを作成しています。 ExecuterService
インスタンスを宣言した後にshutdown()
コマンドを実行するのを忘れた場合、プログラムは一度もオフになりませんでした。 ExecuterService
は、明示的なshutdown()
コマンドを持たないExecutor
インターフェイスを実装しているため、内部コマンドがスレッドをシャットダウンしている可能性があると推測しました。 ExecutorService
クラスの中で何が起きているのか、そしてスレッドが死んでいるなど、関連するスレッドが何か起こっているのかと疑問に思っています。shutdown()
のコマンドは忘れてしまいます。 ありがとうございます。JavaでExecutorServiceを宣言した後にシャットダウン句が見つからない場合どうなるでしょうか
0
A
答えて
1
Executors.newFixedThreadPool
は、スレッドプールでshutdown()
メソッドが呼び出されるまで決してシャットダウンされない、指定された数の「コア」スレッドを持つスレッドプールを作成します。 finalize
method of ThreadPoolExecutor
で
ルック(具象クラスがExecutors.newFixedThreadPool
への呼び出しによって返された):だから
protected void finalize() {
shutdown();
}
ExecutorService
インスタンスがガベージコレクションの対象となった場合finalize()
が呼び出されたときに、それがシャットダウンされます。
ただし、finalize()
メソッドに関連するすべてのものと同様に、特定の時刻(まったく)に呼び出されることに頼るべきではありません。
0
newFixedThreadPool
プール内のスレッドは、明示的にシャットダウンするまで存在します。
シャットダウン()を明示的に呼び出さない限り、エグゼキュータサービスオブジェクトがガベージコレクションの対象になる可能性はほとんどありません。スレッドにはまだエグゼキュータの参照があります。
JVMはデフォルトで、メインスレッドプールにのみ属するすべてのスレッドをシャットダウンします。
関連する問題
- 1. log4netを宣言した後でアセンブリが見つからないILog
- 2. GeneratedMethodAccessor1,2などとは何ですか?なぜそれらが見つからないのでしょうか?
- 3. Ruby on Railsでは、Product.find(12345)を試してみてはどうでしょうか?見つからない場合はエラーになりませんか?
- 4. 私がiTunesを変更した場合どうなるのでしょう?
- 5. bazelはどこでOSX SDKを探しますか(見つからない場合はどうすればよいでしょうか)?
- 6. Python WSGIでリクエストヘッダーが見つからない場合「一致しない場合」
- 7. タスクがonStop()で長い時間がかかる場合どうなるのでしょうか
- 8. Javaで2つのint変数に同じ値が与えられた場合、(メモリに関して)どうなるでしょうか?
- 9. Javaで最初に繰り返し文字が見つからない場合
- 10. アクターが失敗した場合、リモートアクターに添付されたメールボックスはどうなるでしょうか?
- 11. リスト、アップデートが見つかりましたが、そうでない場合
- 12. バックアップから見つからないファイルを見つけるにはどうしたらいいですか?
- 13. C#クラスの宣言で「どこ」が意味するのでしょうか?
- 14. --verboseフラグがオンになっている場合、どうすればわざとなのでしょうか?
- 15. Postgresで_が2つしかない行を見つけるにはどうしたらいいですか?
- 16. IDEなしで宣言/定義を見つけるにはどうすればよいですか?
- 17. mongodbのC++ドライバで宣言「見つからない」を使用
- 18. データベースにデータがない場合、データテーブルの列を宣言するにはどうすればよいですか?
- 19. 私のサイトから画像を見るために認証が必要なのはどうでしょうか?
- 20. もし(isset($ video_url)&httpsだけが見つからない場合はどうすればいいですか?)
- 21. 最後の位置に見つかった文字が見つからない場合はどのように区別するのですか?
- 22. シェルスクリプトは、Javaプログラムから実行ではないでしょう
- 23. WiXバンドルで、レジストリキーが見つからない場合は、バンドルが起動しないようにするにはどうすればよいですか?
- 24. MXMLでのディクショナリ宣言は可能でしょうか? MXMLで
- 25. 妥当な時間内にどのようなアルゴリズムの格子が見つかるでしょうか?
- 26. Keberos:有効なトークンが見つからない場合、どのようにブラウザをリダイレクトできますか?
- 27. クラス宣言の「関数定義のように見える」というコンパイルエラーが発生した場合、どういう意味ですか?
- 28. 元のリストがクリアされた場合、浅いクローンリスト内の項目はどうなるでしょうか?
- 29. どのようにあなたが文句を言わない
- 30. Sitecore 8.0でパブリッシュした後にホームノードが見つからない
追加する価値があります。それは 'poll()'を基本キューに入れます。 – Palcente
ありがとうアンディ!とても役立つ – tlwmalfp