クラス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 interfaceThreadおよびThreadFactoryオブジェクトのビルダー。static enumスレッドの状態です。static interface捕捉されない例外のためにThreadが突然終了したときに呼び出されるハンドラのインタフェース。 -
フィールドのサマリー
クラス Threadで宣言されたフィールド
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY修飾子と型フィールド説明static final intスレッドに設定できる最高優先順位です。static final intスレッドに設定できる最低優先順位です。static final intスレッドに割り当てられるデフォルトの優先順位です。 -
コンストラクタのサマリー
コンストラクタ修飾子コンストラクタ説明protectedForkJoinWorkerThread(ThreadGroup group, ForkJoinPool pool, boolean preserveThreadLocals) 指定されたスレッド・グループおよびプールで動作するForkJoinWorkerThreadを作成し、ThreadLocalsを保持するためのポリシーを指定します。protected指定されたプール内で動作しているForkJoinWorkerThreadを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明getPool()このスレッドをホストしているプールを返します。intこのスレッドのプール内での一意のインデックス番号を返します。intスレッドのキュー内のタスク数の見積り(non-negative)を返します。protected voidonStart()構築後、タスクを処理する前に内部状態を初期化します。protected voidonTermination(Throwable exception) このワーカー・スレッドの終了に関連付けられているクリーンアップを実行します。voidrun()このメソッドは公開のためには必要ですが、明示的に呼び出してはいけません。クラス 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 Objectclone()Threadを意味のあるかたちで複製することは不可能なため、CloneNotSupportedExceptionをスローします。static Thread現在のスレッドのThreadオブジェクトを返します。static void現在のスレッドのスタック・トレースを標準エラー・ストリームに出力します。static int指定された配列に、現在のスレッド・グループおよびそのサブグループ内のすべてのliveプラットフォーム・スレッドをコピーします。static Map<Thread, StackTraceElement[]> すべてのライブ・プラットフォーム・スレッドのスタック・トレースのマップを返します。このスレッドのコンテキストClassLoaderを返します。キャッチされない例外によりスレッドが突然終了したときに呼び出されるデフォルトのハンドラを返します。longgetId()非推奨。このメソッドはfinalではなく、スレッドIDではない値を返すためにオーバーライドできます。final StringgetName()このスレッドの名前を返します。final intこのスレッドの優先順位を返します。このスレッドのスタック・ダンプを表すスタック・トレース要素の配列を返します。getState()このスレッドの状態を返します。final ThreadGroupスレッド・スレッド・グループまたはnullを返します(スレッドが終了している場合)。キャッチされない例外によりスレッドが突然終了したときに呼び出されるハンドラを返します。static boolean現在のスレッドが指定されたオブジェクトのモニター・ロックを保持している場合にのみ、trueを返します。voidこのスレッドに割り込みます。static boolean現在のスレッドが割り込まれているかどうかを調べします。final booleanisAlive()このスレッドが生存しているかどうかを判定します。final booleanisDaemon()このスレッドがデーモン・スレッドであるかどうかを判定します。booleanこのスレッドが割り込まれているどうかを調べます。final booleanこのスレッドが仮想スレッドである場合は、trueを返します。final voidjoin()このスレッドが終了するまで待機します。final voidjoin(long millis) このスレッドが終了するまで最大millisミリ秒待機します。final voidjoin(long millis, int nanos) このスレッドが終了するまで、最大millisミリ秒にnanosナノ秒を加えて待機します。final booleanこのスレッドが指定された待機時間まで終了するのを待機します。static Thread.Builder.OfPlatformプラットフォーム・スレッドを作成するプラットフォームThreadまたはThreadFactoryを作成するためのビルダーを返します。static Thread.Builder.OfVirtual仮想スレッドを作成する仮想ThreadまたはThreadFactoryを作成するためのビルダーを返します。static void他のアクティビティで1つ以上のアクションが発生するまで、コール元が一時的に進行できないことを示します。voidこのスレッドのコンテキストClassLoaderを設定します。final voidsetDaemon(boolean on) このスレッドを「デーモン」または「非デーモン」スレッドとしてマークします。static voidキャッチされない例外により、スレッドが突然終了したときや、このスレッドに対してほかにハンドラが定義されていないときに呼び出されるデフォルトのハンドラを設定します。final voidこのスレッドの名前を引数nameに等しくなるように変更します。final voidsetPriority(int newPriority) このスレッドの優先順位を変更します。voidキャッチされない例外により、突然スレッドが終了したときに使用されるハンドラを設定します。static voidsleep(long millis) システム・タイマーとスケジューラが正確であることを前提として、現在実行中のスレッドを、指定されたミリ秒数の間、スリープ(一時的に実行を停止)させます。static voidsleep(long millis, int nanos) システム・タイマーとスケジューラが正確であることを前提として、現在実行中のスレッドを、指定されたミリ秒数に指定されたナノ秒数を加算した間、スリープ(一時的に実行を停止)させます。static void現在実行中のスレッドが、システム・タイマーおよびスケジューラの精度および精度に従って、指定された期間(一時停止実行)をスリープします。voidstart()実行を開始するようにこのスレッドをスケジュールします。static ThreadstartVirtualThread(Runnable task) タスクを実行するための仮想スレッドを作成し、実行するようにスケジュールします。final longthreadId()このスレッドの識別子を返します。toString()このスレッドの文字列表現を返します。static voidyield()現在のスレッドが現在のプロセッサ使用量を譲る用意があることを示す、スケジューラへのヒントです。クラスオブジェクトで宣言されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait修飾子と型メソッド説明booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(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
-
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を実行します。
-