クラスForkJoinWorkerThread

java.lang.Object
java.lang.Thread
java.util.concurrent.ForkJoinWorkerThread
すべての実装されたインタフェース:
Runnable

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

    スレッド・クラスで宣言されたネストされたクラス/インタフェース

    Thread.Builder, Thread.State, Thread.UncaughtExceptionHandler
    修飾子と型
    クラス
    説明
    static interface 
    ThreadおよびThreadFactoryオブジェクトのビルダー。
    static enum 
    スレッドの状態です。
    static interface 
    捕捉されない例外のためにThreadが突然終了したときに呼び出されるハンドラのインタフェース。
  • フィールドのサマリー

    クラス Threadで宣言されたフィールド

    MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
    修飾子と型
    フィールド
    説明
    static final int
    スレッドに設定できる最高優先順位です。
    static final int
    スレッドに設定できる最低優先順位です。
    static final int
    スレッドに割り当てられるデフォルトの優先順位です。
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    ForkJoinWorkerThread(ThreadGroup group, ForkJoinPool pool, boolean preserveThreadLocals)
    指定されたスレッド・グループおよびプールで動作するForkJoinWorkerThreadを作成し、ThreadLocalsを保持するためのポリシーを指定します。
    protected
    指定されたプール内で動作しているForkJoinWorkerThreadを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    このスレッドをホストしているプールを返します。
    int
    このスレッドのプール内での一意のインデックス番号を返します。
    int
    スレッドのキュー内のタスク数の見積り(non-negative)を返します。
    protected void
    構築後、タスクを処理する前に内部状態を初期化します。
    protected void
    このワーカー・スレッドの終了に関連付けられているクリーンアップを実行します。
    void
    run()
    このメソッドは公開のためには必要ですが、明示的に呼び出してはいけません。

    クラス Threadで宣言されたメソッド

    activeCount, checkAccess, clone, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, threadId, toString, yield
    修飾子と型
    メソッド
    説明
    static int
    現在のスレッド・グループおよびそのサブグループ内のliveプラットフォーム・スレッド数の見積りを返します。
    final void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    このメソッドは元々、現在実行中のスレッドにこのスレッドを変更する権限があるかどうかを判断しました。
    protected Object
    Threadを意味のあるかたちで複製することは不可能なため、CloneNotSupportedExceptionをスローします。
    static Thread
    現在のスレッドのThreadオブジェクトを返します。
    static void
    現在のスレッドのスタック・トレースを標準エラー・ストリームに出力します。
    static int
    enumerate(Thread[] tarray)
    指定された配列に、現在のスレッド・グループおよびそのサブグループ内のすべてのliveプラットフォーム・スレッドをコピーします。
    すべてのライブ・プラットフォーム・スレッドのスタック・トレースのマップを返します。
    このスレッドのコンテキストClassLoaderを返します。
    キャッチされない例外によりスレッドが突然終了したときに呼び出されるデフォルトのハンドラを返します。
    long
    非推奨。
    このメソッドはfinalではなく、スレッドIDではない値を返すためにオーバーライドできます。
    final String
    このスレッドの名前を返します。
    final int
    このスレッドの優先順位を返します。
    このスレッドのスタック・ダンプを表すスタック・トレース要素の配列を返します。
    このスレッドの状態を返します。
    スレッド・スレッド・グループまたはnullを返します(スレッドが終了している場合)。
    キャッチされない例外によりスレッドが突然終了したときに呼び出されるハンドラを返します。
    static boolean
    現在のスレッドが指定されたオブジェクトのモニター・ロックを保持している場合にのみ、trueを返します。
    void
    このスレッドに割り込みます。
    static boolean
    現在のスレッドが割り込まれているかどうかを調べします。
    final boolean
    このスレッドが生存しているかどうかを判定します。
    final boolean
    このスレッドがデーモン・スレッドであるかどうかを判定します。
    boolean
    このスレッドが割り込まれているどうかを調べます。
    final boolean
    このスレッドが仮想スレッドである場合は、trueを返します。
    final void
    このスレッドが終了するまで待機します。
    final void
    join(long millis)
    このスレッドが終了するまで最大millisミリ秒待機します。
    final void
    join(long millis, int nanos)
    このスレッドが終了するまで、最大millisミリ秒にnanosナノ秒を加えて待機します。
    final boolean
    join(Duration duration)
    このスレッドが指定された待機時間まで終了するのを待機します。
    プラットフォーム・スレッドを作成するプラットフォームThreadまたはThreadFactoryを作成するためのビルダーを返します。
    仮想スレッドを作成する仮想ThreadまたはThreadFactoryを作成するためのビルダーを返します。
    static void
    他のアクティビティで1つ以上のアクションが発生するまで、コール元が一時的に進行できないことを示します。
    void
    このスレッドのコンテキストClassLoaderを設定します。
    final void
    setDaemon(boolean on)
    このスレッドを「デーモン」または「非デーモン」スレッドとしてマークします。
    static void
    キャッチされない例外により、スレッドが突然終了したときや、このスレッドに対してほかにハンドラが定義されていないときに呼び出されるデフォルトのハンドラを設定します。
    final void
    このスレッドの名前を引数nameに等しくなるように変更します。
    final void
    setPriority(int newPriority)
    このスレッドの優先順位を変更します。
    void
    キャッチされない例外により、突然スレッドが終了したときに使用されるハンドラを設定します。
    static void
    sleep(long millis)
    システム・タイマーとスケジューラが正確であることを前提として、現在実行中のスレッドを、指定されたミリ秒数の間、スリープ(一時的に実行を停止)させます。
    static void
    sleep(long millis, int nanos)
    システム・タイマーとスケジューラが正確であることを前提として、現在実行中のスレッドを、指定されたミリ秒数に指定されたナノ秒数を加算した間、スリープ(一時的に実行を停止)させます。
    static void
    sleep(Duration duration)
    現在実行中のスレッドが、システム・タイマーおよびスケジューラの精度および精度に従って、指定された期間(一時停止実行)をスリープします。
    void
    実行を開始するようにこのスレッドをスケジュールします。
    static Thread
    タスクを実行するための仮想スレッドを作成し、実行するようにスケジュールします。
    final long
    このスレッドの識別子を返します。
    このスレッドの文字列表現を返します。
    static void
    現在のスレッドが現在のプロセッサ使用量を譲る用意があることを示す、スケジューラへのヒントです。

    クラスオブジェクトで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • ForkJoinWorkerThread

      protected ForkJoinWorkerThread(ThreadGroup group, ForkJoinPool pool, boolean preserveThreadLocals)
      指定されたスレッド・グループおよびプールで動作するForkJoinWorkerThreadを作成し、ThreadLocalsを保持するためのポリシーを指定します。
      パラメータ:
      group - nullでない場合、このスレッドのスレッド・グループ。 それ以外の場合、スレッド・グループは現在のスレッドのスレッド・グループに設定されます。
      pool - このスレッドが機能しているプール
      preserveThreadLocals - trueの場合、タスク全体で常にThreadLocal変数の値を保持します。それ以外の場合はクリアできます。
      スロー:
      NullPointerException - プールがnullの場合
      導入されたバージョン:
      19
    • ForkJoinWorkerThread

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

    • getPool

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

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

      public int getQueuedTaskCount()
      スレッドのキュー内のタスク数の見積り(non-negative)を返します。
      戻り値:
      スレッドのキュー内のタスク数の(non-negative)見積り
      導入されたバージョン:
      20
      関連項目:
    • 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