两种情况想使用FutureTask
- 耗时任务|交给线程做以后我来做点别的事 主线程先完成别的任务再来获取你的结果***异步获取执行结果或取消执行任务
- 高并发环境下,某任务只需要执行一次-选择FutureTask https://blog.csdn.net/chenliguan/article/details/54345993
public class Main{
public static void main(String[] args){
FutureTask<String> future = new FutureTask<String>(new MyTask());
//开启线程池
ExecutorService executor = Executors.newFixedThreadPool(1);
//把任务交给线程池中的线程做
executor.submit(future);
//即将耗时操作交给别人做,我来干些别的事
//在这里干其他事情,不要不做,不做也是得等着下一步get阻塞
future.get();
}
}