ExecutorCompletionService
来源:互联网 发布:淘宝代刷信誉是真的吗 编辑:程序博客网 时间:2024/06/10 01:03
import java.util.Random;
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;
import java.util.concurrent.TimeUnit;
public class ThreadPool {
static class ComputationRunnable implements Callable<Integer> { private int index; private static final Random random = new Random(31); public ComputationRunnable(int index) { this.index = index; } @Override public Integer call() { try { int r = random.nextInt(10); if (r == 5) { throw new RuntimeException("Error!!"); } TimeUnit.MILLISECONDS.sleep(r); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } return Integer.valueOf(index); }}public static void main(String[] args) { ExecutorService es = Executors.newFixedThreadPool(Runtime.getRuntime() .availableProcessors()); CompletionService<Integer> ecs = new ExecutorCompletionService<Integer>(es); for (int i = 0; i < 100; i++) { ecs.submit(new ComputationRunnable(i)); } for (int i = 0; i < 100; i++) { Future<Integer> future = null; try { future = ecs.poll(1, TimeUnit.MILLISECONDS); if (future != null) { int ii = future.get(); System.out.println(ii); } else { System.out.println("\t未按时完成"); } } catch (InterruptedException e) { Thread.currentThread().interrupt(); } catch (ExecutionException e) { // 任务没有正常执行,需要处理 // e.printStackTrace(); System.out.println("\t\t任务执行中出错"); future.cancel(true); } } es.shutdown();}
}
0 0
- ExecutorCompletionService
- ExecutorCompletionService
- ExecutorCompletionService
- Executor/ExecutorService和ExecutorCompletionService
- ExecutorCompletionService原理详解
- ExecutorCompletionService用法示例
- java CompletionService和ExecutorCompletionService
- ExecutorCompletionService分析及使用
- ExecutorCompletionService的基本使用
- ExecutorCompletionService Usage Demo
- ExecutorCompletionService的使用
- Executor/ExecutorService和ExecutorCompletionService
- ExecutorCompletionService 源码分析
- ExecutorCompletionService 的几点认识
- java中的ExecutorCompletionService原理解析
- ExecutorCompletionService的使用和实现
- java多线程 之 CompletionService与ExecutorCompletionService
- 任务执行器Executor/ExecutorService和ExecutorCompletionService
- Chapter11:哈希表的建立和使用
- 分布式服务的Trace——Google Dapper & Twitter Zipkin
- DJI IOS 开发之四:不得不的结束
- Birt4.4.2学习笔记(一)
- substr函数
- ExecutorCompletionService
- centos升级yum源
- JS兼用IE的通过class名获取CSS对象组
- CSS样式定义
- Android Drawable 自定义(圆角图片和圆形图片)
- MySQL之旅_Day02
- Android 蓝牙BLE 4.0 属性判断
- Animation 笔记
- VMware识别虚拟磁盘出错的解决