2017-01-13 12 views

答えて

0

documentationは、ウォーターマークがキューサイズにあると考えられます。キューが特定のサイズになると、スレッドの最大数まで追加のスレッドが追加されます。これは、他のすべてのスレッドが使用されるとすぐにスレッドの追加を開始する通常のエグゼキュータとは異なります。

これは、特定の数のタスクがキューに入れられた後に、さらに多くのスレッドを作成し、場合によってはシステムに負荷を加えたい場合に便利です。これは、システムの負荷とキューの排出速度のバランスをとっています。

すべてのコアプールスレッドがキューイングされたあとに、このエグゼキュータで がウォーターマークまで発生します。 の後にさらにタスクが送信されると、キューがウォーターマークまでいっぱいになると、スレッド数 が最大値まで増加します。タスクの数が増え続ける場合は、 キューがいっぱいになります。キューがバウンドキューであり、キュー が完全に埋まっている場合は、 が指定されている場合、RejectedExecutionHandlerが実行されます。それ以外の場合、タスクは拒否されます。

関連する問題