call future实现多线程
来源:互联网 发布:ps软件字体下载 编辑:程序博客网 时间:2024/05/29 13:56
package
advancedJava;
import
java.util.Random;
import
java.util.concurrent.*;
/**
* callable和future是试验类
*
* @author: cuiH
* Date: 13-11-27
* 执行一个线程,取得线程返回的结果
* callable 返回一个结果,future取到返回的结果。
*/
public
class
CallableAndFuture {
public
static
void
main(String[] args)
throws
ExecutionException, InterruptedException, TimeoutException {
ExecutorService threadPool = Executors.newSingleThreadExecutor();
Future<String> future = threadPool.submit(
new
Callable<String>() {
@Override
public
String call()
throws
Exception {
Thread.sleep(
200
);
return
"Hello Honey"
;
}
});
//提交返回的结果
System.out.println(
"等待结果"
);
System.out.println(
"拿到结果:"
+ future.get(
1
, TimeUnit.SECONDS));
//future可以添加参数
ExecutorService threadPool2 = Executors.newFixedThreadPool(
10
);
//提交一批量的结果,然后,立刻获得先获得的结果,同时捕获。应用需要查找
CompletionService<Integer> completionService =
new
ExecutorCompletionService<Integer>(threadPool2);
for
(
int
i =
0
; i <
10
; i++) {
final
int
finalI = i;
completionService.submit(
new
Callable<Integer>() {
@Override
public
Integer call()
throws
Exception {
Thread.sleep(
new
Random().nextInt(
5000
));
return
finalI;
}
});
}
for
(
int
i =
0
; i <
10
; i++) {
System.out.println(completionService.take().get());
}
}
}
阅读全文
0 0
- call future实现多线程
- 多线程Future模式简单实现
- 多线程Future+Callable实现并发查询
- 多线程-Future
- 多线程----Future
- 多线程 Future
- Java多线程之Callable和Future接口的实现
- 用Callable和Future实现多线程文件搜索
- Java多线程/并发20、Future实现类:FutureTask
- Java多线程(三)——手动实现Future模式
- 多线程Callable和Future
- 多线程之Future
- Future和FutureTask(多线程)
- Future-多线程设计模式
- java 多线程 future 基本原理
- 多线程 :Callable和Future
- 多线程--callable、Future、FutureTask
- Java多线程系列-Future
- 走起多线程
- HUD-1298 T9(字典树trie + dfs)
- mysql5.5.56.zip注册服务需要注意的事
- 比懒人图标更懒的图标库
- 多线程runnable接口案例
- call future实现多线程
- 392. Is Subsequence
- 多线程之basedao
- 管道的理解
- 1406: [AHOI2007]密码箱
- 关于MySQL数据库连接超时问题的分析与解决
- Canvas图形绘制---ChessBoard
- kotlin-cn front end
- 设计模式之迭代器模式的学习思考