Java线程池总结
1.工作流程
1.不会初始化corePoolSize个线程,有任务来了才创建工作线程;
2.当核心线程满了之后不会立即扩容线程池,而是把任务堆积到工作队列中;
3.当工作队列满了以后扩容线程池,一直到线程个数达到maximumPoolSize为止;
4.如果队列已满且达到了最大线程后还有任务进来,按照拒绝策略处理;
5.当线程数大于核心线程数时,线程等待keepAliveTime后还是没有任务需要处理时,收缩线程到核心线程数;
1.不会初始化corePoolSize个线程,有任务来了才创建工作线程;
2.当核心线程满了之后不会立即扩容线程池,而是把任务堆积到工作队列中;
3.当工作队列满了以后扩容线程池,一直到线程个数达到maximumPoolSize为止;
4.如果队列已满且达到了最大线程后还有任务进来,按照拒绝策略处理;
5.当线程数大于核心线程数时,线程等待keepAliveTime后还是没有任务需要处理时,收缩线程到核心线程数;
|
|