package adc.ms;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.*;
/**
* 1!+2!+3!+...+19!+20!
*
*/
public class TestDemo {
public static void main(String[] args) throws Exception {
System.out.println("最后的结果为:" + mutiThread(20));
}
//多线程累加
public static long mutiThread(int n){
ExecutorService executorService = Executors.newFixedThreadPool(n);
List<Future<Long>> futures = new ArrayList<>();
for (int i = 1; i <= n; i++) {
Future<Long> future = executorService.submit(new MyJieCheng(i));
futures.add(future);
}
FutureTask<Long> futureTask = new FutureTask<Long>(new MySumFuture(futures));
executorService.submit(futureTask);
Long aLong = null;
try {
使用多线程计算阶乘累加 1!+2!+3!+...+19!+20!
最新推荐文章于 2021-03-01 18:34:53 发布