クラスjava.util.concurrent.ForkJoinTask
の使用

ForkJoinTaskを使用するパッケージ
パッケージ
説明
並行プログラミングでよく使用されるユーティリティ・クラスです。
  • java.util.concurrentでのForkJoinTaskの使用

    修飾子と型
    クラス
    説明
    class 
    トリガーされた時点で保留中のアクションが残っていない場合に実行される完了アクションを含むForkJoinTaskです。
    class 
    結果の出ない再帰的なForkJoinTask
    class 
    結果を生成する再帰的なForkJoinTask
    ForkJoinTaskの型パラメータを持つjava.util.concurrentのメソッド
    修飾子と型
    メソッド
    説明
    static <T extends ForkJoinTask<?>>
    Collection<T>
    ForkJoinTask.invokeAll(Collection<T> tasks)
    指定されたコレクション内のすべてのタスクをフォークし、各タスクに対してisDoneが適用されるか、(チェックされない)例外が発生する場合に復帰します。後者の場合、例外が再スローされます。
    ForkJoinTaskを返すjava.util.concurrentのメソッド
    修飾子と型
    メソッド
    説明
    static ForkJoinTask<?>
    ForkJoinTask.adapt(Runnable runnable)
    指定されたRunnablerunメソッドをアクションとして実行する新しいForkJoinTaskを返し、join()実行時にnullの結果を返します。
    static <T> ForkJoinTask<T>
    ForkJoinTask.adapt(Runnable runnable, T result)
    指定されたRunnablerunメソッドをアクションとして実行する新しいForkJoinTaskを返し、join()実行時に指定された結果を返します。
    static <T> ForkJoinTask<T>
    ForkJoinTask.adapt(Callable<? extends T> callable)
    指定されたCallablecallメソッドをアクションとして実行する新しいForkJoinTaskを返し、その結果をjoin()実行時に返し、発生したチェック例外をRuntimeExceptionに変換します。
    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で動作しており、現在のスレッドによってキューに入れられたがまだ実行されていない次のタスクが使用可能な場合、そのタスクを実行せずにスケジュール解除して復帰します。そのようなタスクが使用可能でない場合は、他のスレッドによってフォークされたタスクが対象になります(使用可能な場合)。
    ForkJoinPool.submit(Runnable task)
     
    <T> ForkJoinTask<T>
    ForkJoinPool.submit(Runnable task, T result)
     
    <T> ForkJoinTask<T>
    ForkJoinPool.submit(Callable<T> task)
     
    <T> ForkJoinTask<T>
    ForkJoinPool.submit(ForkJoinTask<T> task)
    実行用のForkJoinTaskを送信します。
    ForkJoinTaskのパラメータを持つjava.util.concurrentのメソッド
    修飾子と型
    メソッド
    説明
    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を送信します。
    ForkJoinTaskの型引数を持つjava.util.concurrentのメソッド・パラメータ
    修飾子と型
    メソッド
    説明
    protected int
    ForkJoinPool.drainTasksTo(Collection<? super ForkJoinTask<?>> c)
    実行されなかった、送信およびフォークされた使用可能なすべてのタスクをスケジュール・キューから削除し、実行ステータスを変更せずにそれらを指定されたコレクションに追加します。