多线程(四)线程池的工作过程

执行execute()添加任务时:
1.当前线程数小于核心线程数,立即创建线程并运行。否则,进入阻塞队列等待。
2.如果队列满了,就会创建非核心线程并立即执行。(注意,此时阻塞队列里的任务仍然在等待)。
        如果还有任务进来,并且此时运行线程大于等于最大线程数,则启动饱和拒绝策略。
3.当线程中任务执行完成时,从队列取任务。
4.如果一个线程空闲,会根据空闲时间,判断是否大于核心线程数,如果大于就销毁线程,释放内存。

猜你喜欢

转载自blog.csdn.net/x18094/article/details/114993793