のは、私はそのようなコードがあるとしましょう:代わりに、コンストラクタでThreadPoolExecutor
を渡すので、私はForkJoinPool
を使用する場合が、それはいつものExecutorServiceのようForkJoinPoolを使用することが有益である
class Foo {
private final ExecutorService executor;
public Foo(ExecutorService executor) {
this.executor = executor;
}
public void doSomething() {
executor.execute(() -> {/* Do important task */});
}
}
は、私はより良いパフォーマンスを得ることができます。はいの場合は、ThreadPoolExecutor
の代わりにどのような状況でも使用することをお勧めします。
アップデート1
私の質問はExecutorService
APIを通じてForkJoinPool
の使用についてですとForkJoinPool
特定のAPIを使用して再帰的なタスク分割を想定しません。
これは、実行しようとしているタスクのタイプによって異なります。多くのサブタスクで構成されるタスクがあり、最後に各サブタスクの結果を結合する場合は、Fork-Joinプールを使用する必要があります。 – Sneh