博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线程池
阅读量:4364 次
发布时间:2019-06-07

本文共 1142 字,大约阅读时间需要 3 分钟。

//线程的数量 private static final int UPD_NO_THREADS = 5; //线程池的容量 private ExecutorService executorService = Executors.newFixedThreadPool(UPD_NO_THREADS); public void runExecutorService(){
List
> todo = new ArrayList
>(UPD_NO_THREADS); //接口Callable
返回结果并且可能抛出异常的任务。实现者定义了一个不带任何参数的叫做 call 的方法。 //Callable 接口类似于 ,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常。 executorService = Executors.newFixedThreadPool(UPD_NO_THREADS);
while(x>0){
for(int x=0;x<100;x++){
//AService是一个实现Runnable接口的类 todo.add(Executors.callable(new AService(y))); } //Future 表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果。计算完成后只能使用 get 方法来获取结果,如有必要,计算完成前可以阻塞此方法。 //取消则由 cancel 方法来执行。还提供了其他方法,以确定任务是正常完成还是被取消了。一旦计算完成,就不能再取消计算。如果为了可取消性而使用 Future 但又不提供可用的结果,则可以声明 Future
形式类型、并返回 null 作为底层任务的结果。
List
> result = executorService.invokeAll(todo); // invokeAll(Collection
>tasks)执行给定的任务,当所有任务完成时,返回保持任务状态和结果的 Future 列表。 todo.clear(); } executorService.shutdown(); }
ExecutorService的submit(runnable)返回Future对象
 

转载于:https://www.cnblogs.com/sam-cheng/p/6477719.html

你可能感兴趣的文章
<转载>Bootstrap 入门教程 http://www.cnblogs.com/ventlam/archive/2012/05/28/2520703.html 系列...
查看>>
jquery和js cookie的使用解析
查看>>
类的内置方法
查看>>
世界是数字的 读后感
查看>>
算法项目步骤流程
查看>>
POJ 2942 Knights of the Round Table ★(点双连通分量+二分图判定)
查看>>
10.scheam.xml的配置
查看>>
通过命令给Linux(CentOS)分区
查看>>
python接口自动化3-自动发帖(session)
查看>>
复杂问题的简单抽象:魔兽世界中的兔子们
查看>>
那些美到极致的语言!
查看>>
Xamarin的不归路-ios模拟器没有键盘
查看>>
【云笔记】群晖DS218+ NoteStation 折腾
查看>>
jdk安装配置
查看>>
四、RocketMq简单的消费者和生产者(示例代码)
查看>>
json介绍
查看>>
Maven编译unmappable character for encoding Cp1252问题
查看>>
xftp上传文件失败,执行程序发现磁盘满了:No space left on device
查看>>
duplicate symbols for architecture i386 问题?
查看>>
[BZOJ]1027 合金(JSOI2007)
查看>>