java Callable和Future并发调用,并且返回结果小例子
来源:互联网 发布:时时彩源码大富豪 编辑:程序博客网 时间:2024/05/17 01:49
线程类:/** * 类名称:CallableTest.java * 类描述: * 作 者:why * 时 间:2016年11月7日 */public class CallableTest implements Callable<String> {//接收传来的值private String str;public CallableTest(String str){super();this.str = str;}@Overridepublic String call() throws Exception {//要执行的耗时操作,为了体验效果,没调用一次,休眠1000msThread.sleep(1000);return str;}}调用类:/** * 类名称:RunTest.java * 类描述: * 作 者:why * 时 间:2016年11月7日 */public class RunTest {public static void main(String[] args) {//创建线程池ExecutorService ex=Executors.newCachedThreadPool();List<CallableTest> taskList = new ArrayList<CallableTest>();long now=System.currentTimeMillis();taskList.add(new CallableTest("1"));taskList.add(new CallableTest("2"));taskList.add(new CallableTest("3"));taskList.add(new CallableTest("4"));try {//调用线程,并且接收线程返回的结果List<Future<String>> as =ex.invokeAll(taskList);for(Future<String> f:as){//打印返回结果System.out.println(f.get());}} catch (InterruptedException e) {e.printStackTrace();} catch (ExecutionException e) {e.printStackTrace();}System.out.println((System.currentTimeMillis()-now));}}输出结果:12341003(耗时)正常情况下,执行4次所用时间应给是4000ms,而并发调用,用时1003ms。
5 0
- java Callable和Future并发调用,并且返回结果小例子
- JAVA 并发编程-返回执行结果(Callable和Future)(九)
- JAVA 并发编程-返回执行结果(Callable和Future)(九)
- Java线程总结(十三):并发包------线程返回结果Callable和 Future
- Callable和Future实现调用任务并返回结果数据
- Callable和Future实现调用任务并返回结果数据
- java 使用Callable和Future返回线程执行的结果
- Java并发编程:Callable、Future和FutureTask 获取返回值
- java多线程获取结果 Callable和Future
- java 并发之Callable和Future
- Java并发——Callable和Future
- Java并发编程:Callable、Future和FutureTask
- Java并发编程:Callable、Future和FutureTask
- java并发编程:Callable、Future和FutureTask
- Java并发编程:Callable、Future和FutureTask
- Java并发编程:Callable、Future和FutureTask
- Java并发编程:Callable、Future和FutureTask
- Java并发编程:Callable、Future和FutureTask
- 浏览器拉起应用,获取参数
- Android直播中弹幕效果实现
- React Native Windows 10 搭建步骤
- golang vendor介绍
- CompletionService 简介(异步)
- java Callable和Future并发调用,并且返回结果小例子
- 数组指针
- display : -webkit-box-inline 我见
- 量化分析师的Python日记【Q Quant 之初出江湖】
- Linux-Qt Quick学习1-Hello world
- Left join --案例2
- uboot启动时间优化
- 数据结构(四)——循环链表与双向链表
- [校内测试]宝藏(树形DP)