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

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

    java.util.concurrentでのForkJoinTaskのサブクラス 
    修飾子と型 クラス 説明
    class  CountedCompleter<T>
    トリガーされた時点で保留中のアクションが残っていない場合に実行される完了アクションを含むForkJoinTaskです。
    class  RecursiveAction
    結果の出ない再帰的なForkJoinTask
    class  RecursiveTask<V>
    結果を生成する再帰的な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<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<?> 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)
    実行されなかった、送信およびフォークされた使用可能なすべてのタスクをスケジュール・キューから削除し、実行ステータスを変更せずにそれらを指定されたコレクションに追加します。