package cn.itcast_02;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class 多线程方式3求和案例 {
public static void main(String[] args) throws InterruptedException, ExecutionException {
ExecutorService pool = Executors.newFixedThreadPool(3);
Future<Integer> f1 = pool.submit(new MyCallable(100));
Future<Integer> f2 = pool.submit(new MyCallable(50));
Future<Integer> f3 = pool.submit(new MyCallable(200));
Integer i1 = f1.get();
Integer i2 = f2.get();
Integer i3 = f3.get();
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
pool.shutdown();
}
}
package cn.itcast_02;
import java.util.concurrent.Callable;
public class MyCallable implements Callable {
private int number;
public MyCallable(int number) {
this.number = number;
}
@Override
public Object call() throws Exception {
int sum = 0;
for(int x =1;x<=number;x++) {
sum+=x;
}
return sum;
}
}