线程池利用FutureTask执行Callable子类,获取执行结果的例子
来源:互联网 发布:java oop是什么 编辑:程序博客网 时间:2024/05/22 08:04
很多情况下,子类继承了Runnable和Thread,只能保证这个线程执行,而不能获取线程执行的结果,为了获取线程的执行结果,我们可以让子类继承于Callable,这样就可以获取执行的结果
package test;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
class Item implements Callable<Integer> {
private int first;
private int second;
public Item(int first, int second) {
this.first = first;
this.second = second;
}
@Override
public Integer call() throws Exception {
return this.first * this.second;
}
}
public class CallBackThread {
public static void main(String[] args) throws InterruptedException, ExecutionException {
//創建了大小為8的線程池
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(8);
List<FutureTask<Integer>> futureTasks = new ArrayList<FutureTask<Integer>>();
for (int i = 0; i < 100; i++) {
FutureTask<Integer> futureTask = new FutureTask<Integer>(new Item(i, (i + 1) * (i - 1)));
futureTasks.add(futureTask);
fixedThreadPool.submit(futureTask);
}
for (FutureTask<Integer> task : futureTasks) {
System.out.println(task.get());
}
}
}
0 0
- 线程池利用FutureTask执行Callable子类,获取执行结果的例子
- Callable拿到线程执行结果
- Callable接口实现线程执行结果的返回
- java 使用Callable和Future返回线程执行的结果
- 获取线程执行结果
- Spring线程池和JDK线程池的区别及与FutureTask配合使用得到任务执行结果
- java利用线程池(ExecutorService)配合Callable和Future实现执行方法超时的阻断
- Callable+FutureTask实现多线程并获取结果
- Java回调以及如何利用回调来获取线程的执行结果
- 06____线程返回执行结果(Callable和Future)
- java 线程池 执行callable 的返回值问题
- callable和runable以及线程池对他们的执行
- 使用Callable和Future两个类,来获得线程执行后的结果
- java 线程池执行 callable 接口,future 接收callable 接口的返回值
- 线程结果回调Runnable、Callable、Future、FutureTask
- 线程 Callable FutureTask 入门
- JDK5 如何获取所有线程池的结果再继续执行
- 线程学习二:线程池执行Runnable与Callable
- zzuli 2133
- dos命令
- Oracle
- Maven入门基础-环境篇
- 微商泛滥 朋友圈还是社交圈吗
- 线程池利用FutureTask执行Callable子类,获取执行结果的例子
- Tomcat优化
- ListView scrollListBy.smoothScrollBy不能滚动问题
- HDU1864 最大报销额 (0-1背包)
- 【正则表达式】常用处理
- git rm 结合 .gitignore 完成文件忽略
- 65条常用正则表达式(收藏一下)
- java.lang.IllegalArgumentException: Property 'sqlSessionFactory'
- 界面切换,解决界面卡顿问题