摘要:
图左边是线程池的类结构,右边是放入线程池执行的任务类结构ExecutorServiceExecutorService定义了线程池的基本的方法,AbstractExecutorService是个抽象类,实现了ExecutorService的部分,主要是实现了几个submit()方法,并且提供方法将提交进来的任务封装成FutureTask,ThreadPoolExecutor则实现线程池的管理.FutureTaskFutureTask内部引用了一个AQS的实现,当FutureTask没有执行完毕的时候,FutureTask的get()方法所在线程阻塞在AQS阻塞队列上,所以get()方法可以认为是 阅读全文