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

クラスForkJoinWorkerThread

java.lang.Object
java.lang.Thread
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
    • run

      public void run()
      このメソッドは公開のためには必要ですが、明示的に呼び出してはいけません。 これは、メインの実行ループを実行してForkJoinTaskを実行します。
      定義:
      run、インタフェース: Runnable
      オーバーライド:
      run、クラス: Thread
      関連項目:
      Thread.start(), Thread.stop(), Thread(ThreadGroup, Runnable, String)