Future.get(并发之从任务中产生返回值)
2024-09-01 11:30:16
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future; /**
* 如果你想在任务返回后带一个返回值,可以实现Callable接口<br>
* executorService.submit返回带结果的future对象[执行了call方法后返回]<br>
* 调用get会一直阻塞直到结果返回
*
* @date:2018年6月26日
* @author:zhangfs
*
*
*/
public class CallableDemo implements Callable<String> { private int id; public CallableDemo(int id) {
this.id = id;
} public static void main(String[] args) {
ExecutorService executorService = Executors.newCachedThreadPool();
List<Future<String>> results = new ArrayList<Future<String>>();
for (int i = 0; i < 10; i++) {
results.add(executorService.submit(new CallableDemo(i)));
}
for (Future<String> future : results) {
try {
System.out.println(future.get());
} catch (InterruptedException | ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
executorService.shutdown();
}
}
} @Override
public String call() throws Exception {
// TODO Auto-generated method stub
return "Result of CallableDemo is " + id;
}
}
最新文章
- Activity之概览屏幕(Overview Screen)
- vagrant 1.8.6 安装过程及总结遇到的坑
- Android开发之画图的实现
- (转) android里,addContentView()动态增加view控件,并实现控件的顶部,中间,底部布局
- gulp删除文件和文件夹
- eclipse使用国内镜像站点安装插件
- Python之virtualenv安装
- dapper 操作类封装
- [Solution] ASP.NET Identity(1) 快速入门
- JavaEE基础(十二)
- 微信ios版6.2更新 聊天记录迁移更快捷朋友圈可翻译
- [Asp.Net]状态管理(Session、Application、Cache、Cookie 、Viewstate、隐藏域 、查询字符串)
- MFC对话框屏蔽Enter和ESC键
- C#图解教程 第二十四章 反射和特性
- linux权限之su和sudo的差别
- kernel笔记——块I/O
- jackson 用法总结
- 微信小程序:分页和加载更多
- 027_磁盘维护命令du等
- localhost兼容js不能用
热门文章
- Spring Cloud 学习 (四) Hystrix &; Hystrix Dashboard &; Turbine
- 基于CefSharp开发(二)自定义浏览器窗体
- PyQt+moviepy音视频剪辑实战文章目录
- PyQt(Python+Qt)学习随笔: QDoubleSpinBox浮点数字设定部件简介
- 第11.24节 Python 中re模块的其他函数
- MySQL Docker容器实例创建并进入MySQL命令行
- 半夜删你代码队 Day2冲刺
- js原生方法map实现
- OI知识点/得分技巧的归纳总结
- 传输层-Transport Layer(上):传输层的功能、三次握手与四次握手、最大-最小公平、AIMD加法递增乘法递减