Java的ForkJoinPool是一個特殊的線程池,用于執行ForkJoinTask任務。要初始化一個ForkJoinPool,你可以使用以下幾種方法之一:
ForkJoinPool forkJoinPool = new ForkJoinPool();
這將創建一個具有默認配置的ForkJoinPool實例。默認配置的并行度為CPU核心數。
int parallelism = 4; // 設置你想要的并行度
ForkJoinPool forkJoinPool = new ForkJoinPool(parallelism);
這將創建一個具有指定并行度的ForkJoinPool實例。請注意,并行度應根據你的硬件和任務特性進行調整。
ForkJoinPool forkJoinPool = ForkJoinPool.commonPool();
這將獲取一個共享的ForkJoinPool實例,該實例已在應用程序中預先初始化。通常情況下,這是執行ForkJoin任務的首選方法,因為它可以避免創建和銷毀線程池的開銷。
要使用ForkJoinPool執行一個任務,你需要將任務提交給該線程池。例如,如果你有一個繼承自ForkJoinTask的任務類MyTask,你可以這樣提交任務:
forkJoinPool.invoke(new MyTask());
這將導致ForkJoinPool自動分配適當的線程來執行任務。