Javaスレッドプールを閉じる方法

王林
リリース: 2023-05-09 11:58:15
転載
2949 人が閲覧しました

1, shutdown() メソッドは、スレッド プールを安全にシャットダウンするためのもので、shutdown メソッドを呼び出した後、すぐにスレッド プールを閉じるのではなく、スレッド プール内の多くのタスクを実行するか、待機します。キュー内で実行されるタスクを確認します。すべてのタスクが完了するまで待ってから、スレッド プールを閉じます。

2、isShutdown() メソッドは、スレッド プールは閉じ始めていますが、完全に閉じられたかどうかを判断できません。

3. isterminated() メソッドは、スレッド プールが完全にクローズされているかどうかを判断できるため、shutdown を呼び出した後、タスクを実行すると、isshutdown を呼び出すと true が返され、isterminated を呼び出すと false が返されます。

awaiterminationこのメソッドは、スレッド プールが完全に閉じられているかどうかを判断するもので、isterminated と似ていますが、待機時間を受け入れます。このメソッドを呼び出すと、次の状況が発生する可能性があります。

(1) 待機期間中 (待機状態への移行を含む)、スレッド プールは閉じられ、送信されたすべてのタスク (実行中およびキュー内で待機中のタスクを含む) が閉じられます。完了しました。これはスレッド プールの終わりに相当します。メソッドは true

(2) を返します。タイムアウトを待っても、初期スレッド プールは終了しません。メソッドは false

( 3) スレッドは待機中に中断され、メソッドはインターネット例外をスローします。

shutdownNow: スレッド プールをただちにシャットダウンし、まずスレッド プール内のスレッドに割り込み信号を送信し、スレッドの割り込みを試みてから、キューで待機しているタスクをスレッドに戻します。これらのタスクを解決できる発信者。

したがって、ビジネス ニーズに応じてスレッド プールを停止する適切な方法を選択できます。たとえば、通常は shutdown() メソッドを使用してシャットダウンし、送信されたタスクを完了できますが、状況が緊急の場合は、shutdownnow メソッドを使用してスレッド プールの終了を早めることができます。

以上がJavaスレッドプールを閉じる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート