- 浏览: 82617 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
KeatsLee:
这篇文章是自己总结的吗?还是来自某本书,麻烦告知一下。觉得很经 ...
Java IO -
di1984HIT:
写的不错啊。
hive 实现多行转一行处理方法 -
di1984HIT:
大数据量分析。
hive海量数据--统计一年网站各个产品的UV
import java.util.concurrent.Callable;
import java.util.concurrent.CompletionService;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorCompletionService;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class TestCompletionService {
public static void main(String[] args) throws InterruptedException,
ExecutionException {
ExecutorService exec = Executors.newFixedThreadPool(10);
CompletionService<String> serv =
new ExecutorCompletionService<String>(exec);
for (int index = 0; index < 5; index++) {
final int NO = index;
Callable<String> downImg = new Callable<String>() {
public String call() throws Exception {
Thread.sleep((long) (Math.random() * 10000));
return "Downloaded Image " + NO;
}
};
serv.submit(downImg);
}
Thread.sleep(1000 * 2);
System.out.println("Show web content");
for (int index = 0; index < 5; index++) {
Future<String> task = serv.take();
String img = task.get();
System.out.println(img);
}
System.out.println("End");
// 关闭线程池
exec.shutdown();
}
}
发表评论
-
设置JVM启动属性,设置tomcat远程调试端口
2013-02-12 17:08 1029在eclipse中设置启动属性,或者在命令行运行时设置 ... -
Mysql不能连接
2011-01-11 11:07 1086com.mysql.jdbc.CommunicationsEx ... -
Java IO
2011-01-04 12:08 2277本篇主要讲述IO相关的 ... -
[J2SE]Map.Entry 类使用简介(转)
2010-12-10 09:30 877你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦 ... -
比较分析Vector,Arraylist,Hashtable,HashMap数据结构
2010-12-09 09:15 854线性表,链表,哈希表 ... -
JAVA jvm 参数 -Xms -Xmx -Xmn -Xss
2010-11-04 14:40 1194常见配置举例 堆大小 ... -
Error listenerStart
2010-11-04 14:37 830近日浏览论坛,发现好多人提问,都说在运行web程序时,服务器报 ... -
jvm内存调优经验总结
2010-11-04 14:37 855[color=blue][/color][size=x-sma ... -
java的final和static区别
2010-10-19 10:30 897final定义的变量可以看 ... -
Java设计模式中的11种
2010-10-14 17:35 834一:设计模式是最重要 ... -
Lucene源码分析-- Analyzer
2010-08-02 15:09 1352本文主要分析一下 Lucene输入部分——Analyzer(分 ... -
ik-analyzer
2010-08-02 15:05 1017IKAnalyzer是一个开源的,基于java语言开发的轻量级 ... -
Apache Tika文档处理工具
2010-08-02 13:58 2943随着计算机使用的日益普及以及互联网的无处不在,现在有各种语言的 ... -
JDK性能优化
2010-07-29 10:35 1614jvm的server版和client版在上面的表中,我们看到有 ... -
JDK和JRE的区别
2010-07-29 09:49 880简单的说JDK是面向开发人员使用的SDK,它提供了Java的开 ... -
JAVA Process类的简单学习
2010-07-08 14:59 1374(1)执行简单的DOS命令,如打开一个记事本 ... -
Java的多线程程序设计要点
2010-07-07 09:15 6771.多线程中有主内存和 ... -
Java打包指南-JAR文件包及jar命令详解
2010-07-06 17:28 807常常在网上看到有人询问:如何把 java 程序编译成 .exe ... -
javac编译包及包引用文件
2010-07-06 17:27 2298javac和java是sun提供的编译java文件和执行cla ... -
JAVA RMI实现过程分析
2010-07-06 14:35 1779JAVA RMI 快速入门实例 本实例为参考多篇文章写就而成 ...
相关推荐
ExecutorService 和 CompletionService 是Java并发处理中的两种工具,它们用于管理和执行多个任务。ExecutorService 是一个接口,它是java.util.concurrent.Executor 接口的扩展,提供了一组方法来管理和控制线程池...
`CompletionService`是Java并发编程中的一个重要工具,它在`ExecutorService`的基础上提供了一种更加高效的方式来管理和处理并发任务的完成结果。`ExecutorService`允许我们提交任务(通常是`Runnable`或`Callable`...
`CompletionService`是另一个关键工具,它扩展了`ExecutorService`的功能,尤其适用于需要在任务完成时立即获取结果的情况。`CompletionService`通过`Future`接口返回每个任务的结果,使得我们可以在任务完成的瞬间...
CompletionService log4j+slf4j日志 实现的功能 登录注销 单聊 群聊 客户端提交任务,下载图片并显示 上线下线公告 在线用户记录 批量下载豆瓣电影的图片,并打为压缩包传输给客户端 客户端使用方式: 登录:默认...
3. **CompletionService**:`CompletionService`提供了一种获取异步任务结果的机制,它基于`ExecutorService`,使得你可以按完成顺序获取结果,而不需要知道任务的原始提交顺序。`TestCompletionService.java`可能...
CompletionService log4j+slf4j日志 实现的功能 登录注销 单聊 群聊 客户端提交任务,下载图片并显示 上线下线公告 在线用户记录 批量下载豆瓣电影的图片,并打为压缩包传输给客户端 客户端使用方式: 登录:默认...
CompletionService<PartETag> completionService = new ExecutorCompletionService(executor); for (int i = 1; i ; i++) { UploadPartResponse response = s3Client.uploadPart(uploadRequestBuilder.part...
9)已完成任务队列CompletionService 36 10)计时器CountDownLatch 37 11)周期性同步工具CyclicBarrier 38 12)异步计算的结果Future 40 13)安排线程池ScheduledExecutorService 40 五多线程面试题 41 六其他主题 41 1)...
6.3.6 示例:使用CompletionService实现页面渲染器 6.3.7 为任务设置时限 6.3.8 示例:旅行预定门户网站 第7章 取消与关闭 第8章 线程池的使用 第9章 图形用户界面应用程序 第三部分 活跃性、性能与测试 第10...
Java的并发编程框架`java.util.concurrent`包提供了`Executor`接口和相关的实现,包括`ExecutorService`、`CompletionService`等,它们使得并发编程更加简洁高效。`CompletionService`允许获取已完成任务的结果,...
通过`CompletionService.submit(Callable)`提交任务,然后调用`take()`或`poll()`方法来获取最先完成的任务结果,这样可以按照任务完成的顺序组装结果,无需等待所有任务完成。 另外,`CompletableFuture`是Java 8...
6.3.6 示例:使用CompletionService实现页面渲染器 6.3.7 为任务设置时限 6.3.8 示例:旅行预定门户网站 第7章 取消与关闭 第8章 线程池的使用 第9章 图形用户界面应用程序 第三部分 活跃性、性能与测试 第10...
- CompletionService - log4j+slf4j日志 - 实现的功能 - 登录注销 - 单聊 - 群聊 - 客户端提交任务,下载图片并显示 - 上线下线公告 - 在线用户记录 - 批量下载豆瓣电影的图片,并打为压缩包传输给客户端 ...
- `java.util.concurrent.CompletionService`:允许获取执行任务的结果,`ExecutorCompletionService` 是其具体实现,结合了 `ExecutorService` 和 `Future`。 5. 线程池执行原理 线程池的执行过程主要包括任务提交...
CompletionService是一个高级的并发工具,它结合了Executor和BlockingQueue的功能,允许处理已完成的任务,而无需等待所有任务完成。这对于处理大量并发任务并需要及时处理已完成任务的场景非常有用。 为任务设置...
5. **`java.util.concurrent.CompletionService`和`ForkJoinPool`**:前者提供了异步任务的完成服务,后者是基于分治策略的并行计算框架,适用于大规模并行计算。 6. **线程安全的集合**:`ConcurrentHashMap`、`...
7. CompletionService:提供了一个基于ExecutorService的接口,可以获取已经完成的任务,简化了异步处理的流程。 学习“02-4(马士兵)-多线程并发”这个主题,你需要理解这些核心概念,并通过实践加深对并发编程的...
例如,我们可以通过`CompletionService`配合`ExecutorService`,使用Lambda表达式创建的任务,实现任务的分批执行和结果的顺序获取。同时,`Future`和`Callable`接口也可以与Lambda表达式结合,用于处理有返回结果的...