package cn.sunline.ant.task.concurrent; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CompletionService; import java.util.concurrent.ExecutorCompletionService; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; public class Test { public static void main(String[] args) { // 执行的服务 ExecutorService service = Executors.newFixedThreadPool(4); CompletionService<Result> completion = new ExecutorCompletionService<Result>(service);//这个东西很关键 // 每个任务的执行结果 List<Future<Result>> futures = new ArrayList<Future<Result>>(); // 开始并发的跑任务 futures.add(completion.submit(new MyTask(10))); futures.add(completion.submit(new MyTask(1))); futures.add(completion.submit(new MyTask(5))); for (int i = 0; i < 3; i++) { try { // 这里会阻塞等待任务完成 Result result = completion.take().get(); System.out.println(result.msg); } catch (Exception e) { e.printStackTrace(); } } //这里的顺序与任务请求的顺序不一定相同,具体要看每个任务的执行速度 for (Future<Result> f : futures) { try { // 这里会阻塞等待任务完成 Result result = f.get(); System.out.println(result.msg); } catch (Exception e) { e.printStackTrace(); } } } static class Result { String msg; } static class MyTask implements java.util.concurrent.Callable<Result> { int id; public MyTask(int id) { this.id = id; } @Override public Result call() throws Exception { Result ret = new Result(); ret.msg = "处理任务:" + id; Thread.sleep(id * 1000); return ret; } } }
相关推荐
JDK7多线程部分类(接口)关系图,根据官网得出
jdk1.9英文版API,小部分内容可能需要联网才能看到,大部分基础都是可以直接查看的。
对java多线程进行了全面的总结,包括了JDK 5的新特性。
建议官方只收1积分,汉化绝大多数方法与函数只有少数1.7少用方法没有汉化,并含使用案例,jdk api 1.7是一款JAVA1.7中文版的API帮助文档,众所周知JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的...
利用jdk自带算法实现的AES加解密工具类及Base64编解码工具类、 文件操作工具类、aes扩展无限制权限策略文件等。 在jdk1.7环境亲测通过。
Java jdk-11中文api修订版.CHM。 jdk11的api中文版。修正了js的错误,不需要下载Extrachm来打开查看。对里面布局做了修改完善,手工补充了部分没有翻译到的地方。当然了版本不是很完善,可以去下面链接看源码,自己...
JDK 1.8中文API文档
jdk8中文API文档
jdk11的api中文版。修正了js的错误,不需要下载Extrachm来打开查看。对里面布局做了修改完善,手工补充了部分没有翻译到的地方。当然了版本不是很完善,可以去看源码,自己修改编译。 Java 11 不仅提供了长期支持...
本手册为JDK-API-1.8版本,java中文版api手册。JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具...
jdk api 1.8 中文版,用于平时查阅java自带的类或者命令。jdk api 1.8 中文版,用于平时查阅java自带的类或者命令。jdk api 1.8 中文版,用于平时查阅java自带的类或者命令。jdk api 1.8 中文版,用于平时查阅java...
JDK API 1.8 中文 JDK API 1.8 中文 JDK API 1.8 中文 JDK API 1.8 中文 JDK API 1.8 中文 JDK API 1.8 中文 JDK API 1.8 中文 JDK API 1.8 中文 JDK API 1.8 中文 JDK API 1.8 中文 JDK API 1.8 中文 JDK API 1.8 ...
JDK1.8和JDK1.6API帮助文档
java开发API文档,jdk-9文档压缩包,解压之后浏览器打开即可
JDK_API_1.8(中文版)JDK_API_1_8_zh_CN.zip
JDK7u4的API,JDK7的帮助文档
1.新手查询语法必备 2.jdk最新的中文文档
JDK自带xml解析器dom+sax JDK自带xml解析器dom+sax JDK自带xml解析器dom+sax
由浅入深,通过图解和手写代码,讲解Java版的多线程,主要讲解如下内容: ...JDK多线程工具包中,若干种工具的原理和手写实现: ReentrantLock、CountDownLanuh、CyclicBarrier、Semaphore
NULL 博文链接:https://samjavaeye.iteye.com/blog/938657