executor - executor 管理 (executor)

Liberty カーネルのデフォルト executor の設定を定義します。デフォルト executor は常に 1 つのみ存在し、これは Liberty ランタイムのみが使用するためのものであり、アプリケーションから直接アクセス可能ではないことに注意してください。executor を構成して利用する必要があるアプリケーションは、代わりに Managed Executor を使用する必要があります。

NameTypeDefaultDescription
namestringDefault ExecutorLiberty カーネルのデフォルト executor の名前。
maxThreadsint-1executor に関連付けることができるスレッドの最大数。 この値をゼロより大きくする場合は、coreThreads の値以上にする必要があります。 maxThreads の値がゼロ以下の場合、スレッドの最大数は無制限になります。executor に関連付けられるスレッドの実際の数は Liberty カーネルによって動的に決定されることに注意してください。したがって、最大スレッド数を無制限にしても、ランタイムがアクティブに大量のスレッドを作成することにはならず、定義された上限がない状態で Liberty カーネルが executor と関連付けるスレッドの数を決定するだけです。
coreThreadsint-1executor に関連付けるスレッドの定常状態の数またはコア数。 executor に関連付けられるスレッドの数は、急速にこの数まで増えます。 この値がゼロより小さい場合は、デフォルト値が使用されます。 このデフォルト値は、システムのハードウェア・スレッドの数に基づいて計算されます。
keepAlive期間 (精度: ミリ秒)60sアイドル・スレッドをプール内に保持しておく時間。この時間を過ぎるとスレッドは終了します。. 正整数の後に時間単位 (時間 (h)、分 (m)、秒 (s)、またはミリ秒 (ms)) を付けて指定してください。 例えば、500 ミリ秒は 500ms と指定します。 単一エントリーに複数の値を含めることができます。 例えば、1.5 秒の場合、1s500ms とすることができます。
stealPolicy
  • STRICT
  • NEVER
  • LOCAL
LOCAL採用する作業スチーリング・ポリシー。 このポリシーのオプションによって、作業をキューに入れる方法やキューに入れられた作業をスレッドが取得する方法が決まります。
STRICT
作業を生成するすべてのスレッドがローカル・ワーク・パイルを所有します。 executor に関連付けられたスレッドは、ローカル・ワーク・パイルが空になると他のスレッドの作業を引き受けます。
NEVER
グローバル作業キューを使用して、executor に関連付けられているスレッドに作業をフィードします。 スチーリングは発生しません。
LOCAL
executor に関連付けられていないスレッドによって生成される作業にグローバル作業キューを使用します。 executor に関連付けられたスレッドによって生成される作業はローカル・ワーク・パイル内に入れられます。 このワーク・パイルは、別のスレッドがスチールしないかぎり生成したスレッドが所有します。 executor に関連付けられたスレッドは、ローカル・ワーク・パイルが空で、かつグローバル作業キューに作業がない場合、他のスレッドに関連付けられている作業を引き受けます。
rejectedWorkPolicy
  • ABORT
  • CALLER_RUNS
ABORTexecutor が作業を実行段階にすることができない場合に採用するポリシー。
ABORT
例外を出す。
CALLER_RUNS
呼び出し元のスレッドで即時に作業を実行する。