Runnable任务。ThreadPoolExecutor是Executors类的底层实现。alive!最后的BlockingQueue选择了LinkedBlockingQueue,该queue有一个特点,他是无界的。其次BlockingQueue的选择上使用SynchronousQueue。一共有三种类型的queue。maximumPoolSize,在这种情况下,任务将被拒绝。corePoolSize。(因此,maximumPoolSize的值也就无效了。BlockingQueue的选择。例子一:使用直接提交策略,也即SynchronousQueue。maximumPoolSize,在这种情况下,任务将被拒绝。?如果你的任务A1,A2有内部关联,A1需要先运行,那么先提交A1,再提交A2,当使用SynchronousQueue我们可以保证,A1必定先被执行,在A1么有被执行前,A2不可能添加入queue中。对于无界队列来说,总是可以加入的(资源耗尽,当然另当别论)。DBCP中的maxIdle,minIdle参数。keepAliveTime的含义,TimeUnit为keepAliveTime值的度量。ThreadPoolExecutor中已经默认包含了4中策略,因为源码非常简单,这里直接贴出来。queue中最老任务。