FutureTaskForMultiCompute inst = new FutureTaskForMultiCompute();
//创建任务集合
List<FutureTask<Integer>> taskList = new ArrayList<FutureTask<Integer>>();
//创建线程池
ExecutorService exec = Executors.newFixedThreadPool(5);
for( int i = 0; i < 10 ; i++){
FutureTask<Integer> ft = new FutureTask<Integer>(inst.new ComputeTask(i, "" +i);
taskList.add(ft);
exec.submit(ft);
}
Integer totalResult = 0;
for(FutureTask<Integer> ft : taskList) {
try{
totalResult = totalResult + ft.get();
}catch(Exception ex){
}
}
exec.shutdown();
System.out.println("计算结果: " + totalResult);
}
public static Callable<Integer> getTask(final int no) {
final Random rand = new Random();