`

读书笔记:排序的执行器

阅读更多
package v1ch14.ThreadPoolTest;

import java.util.List;
import java.util.concurrent.Callable;
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;

/**
 * @version 2010-10-18 下午05:11:11
 * @author DaWei han
 * @EMAIL  handawei_1@126.com
 */
public class MyPoolTest {

	/**
	 * @param args
	 * @throws ExecutionException 
	 * @throws InterruptedException 
	 */
	public static void main(String[] args) throws InterruptedException, ExecutionException {
		//构造一个线程池
		ExecutorService executor=Executors.newCachedThreadPool();
		
		//构造一个顺序的执行器
		ExecutorCompletionService<Integer> service=new ExecutorCompletionService<Integer>(executor);
		List<Callable<Integer>> taks=getTasks();
		
		for(Callable<Integer> call:taks)
		{
			//执行任务
			service.submit(call);
		}
		for(int i=0;i<taks.size();i++)
		{
			//获得任务结果。它们是按结果的快慢排序的。
		    service.take().get(); 	
		}
      //上面的线程池顺序服务是为了优化下面的线程池服务,因为下面的第一个任务可能很耗时,那么后面的就必须等待。
		List<Future<Integer>> results= executor.invokeAll(taks);
		for(Future<Integer> result:results)
		{
			result.get();
		}
	}
 public static List<Callable<Integer>> getTasks()
 {
	 return null;
 }
}

 

分享到:
评论

相关推荐

    effective java 读书笔记

    - Item7:Java中的finalizers用于清理对象资源,但不应依赖其执行,因为它们可能不会被调用,而且会影响垃圾收集性能。 4. **通用方法设计** - Item8:equals方法应与`==`操作符一致,同时对所有字段进行比较。...

    ARM体系与结构读书笔记

    《ARM体系与结构读书笔记》知识点详析 一、嵌入式系统与ARM体系概览 嵌入式系统是一种专用计算机系统,广泛应用于各种设备中,如汽车、手机、医疗设备等,用于执行特定任务。ARM体系是嵌入式系统中最为流行的架构...

    《Visual Basic程序设计》读书笔记模板.pptx

    * 滚动条和计时器:ScrollBars、Timer 控件的使用和事件处理 五、数组 * 数组的基本概念:数组的定义、类型和使用 * 数组的定义:如何定义和使用数组 * 数组的基本操作:数组的索引、查找、排序等 * 数组应用举例...

    《数据结构和问题求解(Java语言版)(第四版)》源码

    4. **Sort.java**: 这个文件可能会包含多种排序算法的实现,如冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。排序是计算机科学中基础且重要的问题,不同的排序算法在时间复杂度和稳定性上有所不同。...

    MYSQL必知必会读书笔记第七章之数据过滤

    在MySQL中,数据过滤是...随着对SQL语言的深入学习,如第一章至第十一章的笔记所涵盖的基础、版本更改、数据库操作、数据检索、排序、过滤、通配符使用以及函数应用等,将能更全面地掌握MySQL数据库管理的各个方面。

    阅读器.zip

    在这款压缩包中,只有一个核心文件——“阅读器”,这通常意味着它可能是一个可执行程序或者应用程序,用户只需解压并运行即可开始使用。下面我们将深入探讨电子阅读器的相关知识点。 1. **电子阅读器的基本功能**...

Global site tag (gtag.js) - Google Analytics