クラスjava.util.concurrent.ForkJoinTask
の使用
-
java.util.concurrentでのForkJoinTaskの使用
修飾子と型クラス説明class
トリガーされた時点で保留中のアクションが残っていない場合に実行される完了アクションを含むForkJoinTask
です。class
結果の出ない再帰的なForkJoinTask
。class
結果を生成する再帰的なForkJoinTask
。修飾子と型メソッド説明static <T extends ForkJoinTask<?>>
Collection<T>ForkJoinTask.invokeAll
(Collection<T> tasks) 指定されたコレクション内のすべてのタスクをフォークし、各タスクに対してisDone
が適用されるか、(チェックされない)例外が発生する場合に復帰します。後者の場合、例外が再スローされます。修飾子と型メソッド説明static ForkJoinTask<?>
指定されたRunnable
のrun
メソッドをアクションとして実行する新しいForkJoinTask
を返し、join()
実行時にnullの結果を返します。static <T> ForkJoinTask<T>
指定されたRunnable
のrun
メソッドをアクションとして実行する新しいForkJoinTask
を返し、join()
実行時に指定された結果を返します。static <T> ForkJoinTask<T>
指定されたCallable
のcall
メソッドをアクションとして実行する新しいForkJoinTask
を返し、その結果をjoin()
実行時に返し、発生したチェック例外をRuntimeException
に変換します。final ForkJoinTask<V>
ForkJoinTask.fork()
現在のタスクが実行されているプール内でこのタスクを非同期で実行するように調整します(該当する場合)。inForkJoinPool()
でない場合は、ForkJoinPool.commonPool()
を使用します。protected static ForkJoinTask<?>
ForkJoinTask.peekNextLocalTask()
現在のスレッドによってキューに入れられたがまだ実行されていないタスクがすぐに使用できる場合、そのタスクを返し、スケジュール解除や実行は行いません。protected static ForkJoinTask<?>
ForkJoinTask.pollNextLocalTask()
現在のスレッドがForkJoinPoolで動作している場合に、現在のスレッドによってキューに入れられたがまだ実行されていない次のタスクを、実行せずにスケジュール解除して復帰します。protected ForkJoinTask<?>
ForkJoinPool.pollSubmission()
まだ実行されていない次の送信が使用可能な場合、それを削除して復帰します。protected static ForkJoinTask<?>
ForkJoinTask.pollSubmission()
現在のスレッドがForkJoinPoolで動作している場合は、スケジューリングを解除して、実行せずにプールに外部から送信されたタスクがあればそれを返します。protected static ForkJoinTask<?>
ForkJoinTask.pollTask()
現在のスレッドがForkJoinPoolで動作しており、現在のスレッドによってキューに入れられたがまだ実行されていない次のタスクが使用可能な場合、そのタスクを実行せずにスケジュール解除して復帰します。そのようなタスクが使用可能でない場合は、他のスレッドによってフォークされたタスクが対象になります(使用可能な場合)。ForkJoinTask<?>
<T> ForkJoinTask<T>
<T> ForkJoinTask<T>
<T> ForkJoinTask<T>
ForkJoinPool.submit
(ForkJoinTask<T> task) 実行用のForkJoinTaskを送信します。修飾子と型メソッド説明void
ForkJoinPool.execute
(ForkJoinTask<?> task) 指定されたタスクの(非同期)実行を調整します。<T> T
ForkJoinPool.invoke
(ForkJoinTask<T> task) 指定されたタスクを実行し、完了時にその結果を返します。static void
ForkJoinTask.invokeAll
(ForkJoinTask<?>... tasks) 指定されたタスクをフォークし、各タスクに対してisDone
が適用されるか、(チェックされない)例外が発生する場合に復帰します。後者の場合、例外が再スローされます。static void
ForkJoinTask.invokeAll
(ForkJoinTask<?> t1, ForkJoinTask<?> t2) 指定されたタスクをフォークし、各タスクに対してisDone
が適用されるか、(チェックされない)例外が発生する場合に復帰します。後者の場合、例外が再スローされます。<T> ForkJoinTask<T>
ForkJoinPool.submit
(ForkJoinTask<T> task) 実行用のForkJoinTaskを送信します。修飾子と型メソッド説明protected int
ForkJoinPool.drainTasksTo
(Collection<? super ForkJoinTask<?>> c) 実行されなかった、送信およびフォークされた使用可能なすべてのタスクをスケジュール・キューから削除し、実行ステータスを変更せずにそれらを指定されたコレクションに追加します。