Future()接口 | 表示将要完成任务的结果(与Callble配合使用) |
cancel()方法 | 取消任务 |
get()方法 | 获取任务执行完的结果 |
用法:
package dey01;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class Future_01 {
public static void main(String[] args)throws Exception{
//创建线程池
ExecutorService es = Executors.newFixedThreadPool(2);
//创建提交任务
Future<Integer> future = es.submit(new Callable<Integer>() {
@Override
public Integer call() throws Exception {
int sum = 0;
for (int i=0;i<=50;i++){
sum+=i;
}
System.out.println("计算1-50");
return sum;
}
});
Future<Integer> future1 = es.submit(new Callable<Integer>() {
@Override
public Integer call() throws Exception {
int sum = 0;
for (int i=51;i<=100;i++){
sum+=i;
}
System.out.println("计算51-100");
return sum;
}
});
//3.获取结果
int sum = future.get()+future1.get();
System.out.println(sum);
//4.关闭线程
es.shutdown();
}
}