两种情况想使用FutureTask
- 耗时任务|交给线程做以后我来做点别的事 主线程先完成别的任务再来获取你的结果***异步获取执行结果或取消执行任务
- 高并发环境下,某任务只需要执行一次-选择FutureTask https://blog.youkuaiyun.com/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();
}
}
本文介绍如何使用FutureTask进行异步任务处理,通过示例代码展示如何将耗时任务委托给线程池执行,同时允许主线程继续执行其他任务,最后获取任务执行结果。适用于高并发环境下,确保某项任务只执行一次的场景。
994

被折叠的 条评论
为什么被折叠?



