问题描述:计算一批正整数中质数的个数
使用方法:
使用CompletableFuture结合线程池 多线程统计质数的个数,最后汇总各个线程的数量。代码如下:
// 创建一个固定大小的线程池
ExecutorService executorService = Executors.newFixedThreadPool(10);
CompletableFuture<Integer> future1 = CompletableFuture.supplyAsync(() -> {
int count = getPrimeNumberCount(2, 100000);
System.out.println(Thread.currentThread().getName() + ", count = " + count);
return count;
}, executorService);
CompletableFuture<Integer> future2 = CompletableFuture.supplyAsync(() -> {
int count = getPrimeNumberCount(100000, 200000);
System.out.println(Thread.currentThread().getName() + ", count = " + count);
return count;
}, executorService);
System.out.println(future1.join() + future2.join());