吃透Java并发十六:线程池之ThreadPoolExecutor

一、ThreadPoolExecutor简介

ThreadPoolExecutor,它是J.U.C在JDK1.5时提供的一种实现了ExecutorService接口的执行器,或者说线程池。通过Executors工厂,用户可以创建自己需要的执行器对象。

ThreadPoolExecutor并没有自己直接实现ExecutorService接口,因为它只是其中一种Executor的实现而已,所以Doug Lea把一些通用部分封装成一个抽象父类——AbstractExecutorService,供J.U.C中的其它执行器继承。如果我们需要自己实现一个Executor,也可以继承该抽象类。
吃透Java并发十六:线程池之ThreadPoolExecutor
AbstractExecutorService提供了 ExecutorService 接口的默认实现——主要实现了 submit、invokeAny 、invokeAll这三类方法,如果读者看过上一篇综述文章,就应该知道,ExecutorService的这三类方法几乎都是返回一个Future对象。而Future是一个接口,AbstractExecutorService既然实现了这些方法,必然要实现该Future接口,我们来看下AbstractExecutorService实现的submit方法:

public <T
上一篇:JUC锁的理解(下)


下一篇:Executors常见的线程池创建