Tag Archives | threadpool

理解Executor接口的设计思路

Executor作为J.U.C的比较基础的功能功能,用到过,但理解不深,前阵子用线程池的时候把这部分源码扫了一遍,有些体会,记录下。记录下来感觉很简单,好像连记一下的必要都没有了,但是之前就是不理解。

Doug Lea大师的Executor所有的代码就这么些:

这个接口只定义了一个方法,就是execute传入的Runnable对象。意思也不难理解就是,执行Runnable中定义的内容。如果把传入的这个Runnable的参数理解为一个执行任务Task的描述,可能会更好理解。这个方法的作用就是把提交的这个task给execute起来。

很明显如果一个线程调用到这个方法,则会在这个线程中提交Task。但是Task怎么执行,什么时候执行,以哪种方式执行,是否有返回值,实在当前线程中执行还是在其他线程中执行,都不做要求[......]

阅读全文

Tags: , ,

Comments { 0 }