1、特点
可以传入线程的数量,不传入,则默认使用当前计算机中可用的cpu数量
能够合理的使用CPU进行对任务操作(并行操作)
适合使用在很耗时的任务中
底层用的ForkJoinPool 来实现的。 ForkJoinPool的优势在于,可以充分利用多cpu,多核cpu的优势,把一个任务拆分成多个“小任务”分发到不同的cpu核心上执行,执行完后再把结果收集到一起返回。
2、创建实例
ExecutorService executorService = Executors.newWorkStealingPool();
或者
ExecutorService executorService = Executors.newWorkStealingPool(2);
3、传参实例
ExecutorService executorService = Executors.newWorkStealingPool(2);
for (int i = 1; i < 10; i++) {
int finalI = i;
executorService.execute(() -> {
try {
System.out.println(finalI);
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
});