JAVA多线程—CompletionService的使用介绍
来源:互联网 发布:大表妹是什么网络意思 编辑:程序博客网 时间:2024/06/04 17:58
CompletionService用于提交一组Callable任务,其take方法返回已完成的一个Callable任务对应的Future对象。
好比我同时种了几块地的麦子,然后就等待收割。收割时,则是那块先成熟了,则先去收割哪块麦子。
示例代码:
package syn;import java.util.concurrent.Callable;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 FutureTest { public static void main(String[] args) throws Exception { ExecutorService service = Executors.newFixedThreadPool(3); CompletionService<Integer> completionService = new ExecutorCompletionService<Integer>(service); for (int i = 0; i < 10; i++) { final Integer seq = i + 1; completionService.submit(new Callable<Integer>() { public Integer call() throws Exception { Thread.sleep((long) (Math.random() * 1000)); return seq; } }); } for (int i = 0; i < 10; i++) { Future<Integer> f = completionService.take(); System.out.println(f.get()); } service.shutdown(); }}
运行结果:
0 0
- JAVA多线程—CompletionService的使用介绍
- Java多线程--CompletionService的使用
- CompletionService的介绍和使用
- CompletionService的介绍和使用
- 多线程之CompletionService使用
- Java多线程-CompletionService
- java多线程中的CompletionService
- Java:多线程,线程池,使用CompletionService通过Future来处理Callable的返回结果
- Java:多线程,线程池,使用CompletionService通过Future来处理Callable的返回结果
- 【Java】CompletionService 使用
- Java多线程-Executor框架:CompletionService
- Java多线程-Executor框架:CompletionService
- Java 多线程中关于 ExecutorService 和 CompletionService的讨论
- completionService的使用
- 理解java的CompletionService
- 多线程 : 使用 CompletionService 多线程返回结果
- 多线程-CompletionService
- java并发:ExecutorServiec中的CompletionService和invokeAll的使用
- MySQL数据库知识点2
- 网页跳转方法汇总
- 漂亮的表单验证效果
- 设计模式学习之代理模式
- java 获取系统当前时间
- JAVA多线程—CompletionService的使用介绍
- 洛谷 P3214 [HNOI2011]卡农
- Intel CPUs and Supported Red Hat Enterprise Linux (RHEL) Versions
- ajax设置为同步请求
- Java中使用Jedis操作Redis(入门级)
- 面向对象之继承super(),this()
- Javascript 中的神器——Promise
- unity屏幕分辨率设置
- PhpStorm调试 PHP Web 应用