モジュール java.base
パッケージ java.util.concurrent

クラスForkJoinWorkerThread

  • すべての実装されたインタフェース:
    Runnable


    public class ForkJoinWorkerThread
    extends Thread
    ForkJoinPoolによって管理されるスレッドであり、ForkJoinTaskを実行します。 このクラスは、機能の追加のためにのみサブクラス化可能です。スケジューリングまたは実行を扱うオーバーライド可能なメソッドはありません。 ただし、メインのタスク処理ループを囲む初期化および終了メソッドはオーバーライドできます。 このようなサブクラスを作成する場合は、カスタムのForkJoinPool.ForkJoinWorkerThreadFactoryを指定し、それをForkJoinPool使用することも必要です。
    導入されたバージョン:
    1.7
    • コンストラクタの詳細

      • ForkJoinWorkerThread

        protected ForkJoinWorkerThread​(ForkJoinPool pool)
        指定されたプール内で動作しているForkJoinWorkerThreadを作成します。
        パラメータ:
        pool - このスレッドが機能しているプール
        例外:
        NullPointerException - プールがnullの場合
    • メソッドの詳細

      • getPool

        public ForkJoinPool getPool​()
        このスレッドをホストしているプールを返します。
        戻り値:
        プール
      • getPoolIndex

        public int getPoolIndex​()
        このスレッドのプール内での一意のインデックス番号を返します。 戻り値の範囲は、0からプール内に存在する可能性があるスレッドの最大数(引く1)までであり、スレッドの存続期間中は変更されません。 このメソッドは、タスク単位ではなくワーカー・スレッド単位でステータスの追跡や結果の収集を行うアプリケーションで役立つことがあります。
        戻り値:
        インデックス番号
      • onStart

        protected void onStart​()
        構築後、タスクを処理する前に内部状態を初期化します。 このメソッドをオーバーライドする場合は、メソッドの先頭でsuper.onStart()を呼び出す必要があります。 初期化には注意が必要です。このスレッドがタスクの処理を開始する前であっても、ほかのスレッドからのアクセスの試行が正しく機能するように、ほとんどのフィールドには正当なデフォルト値が必要です。
      • onTermination

        protected void onTermination​(Throwable exception)
        このワーカー・スレッドの終了に関連付けられているクリーンアップを実行します。 このメソッドをオーバーライドする場合は、オーバーライドされたメソッドの最後でsuper.onTerminationを呼び出す必要があります。
        パラメータ:
        exception - このスレッドが回復不可能なエラーのために強制的に中断される原因となった例外。正常に完了した場合はnull