概述
1.线程池工作原理:
主线程执行excute方法:
1)此时如果线程池的没有线程,就会创建线程来执行该任务
2)如果已经有线程,并且线程数小于核心线程数,会继续创建线程来执行新任务
3)如果线程数已经满核心线程数了,新的任务就会暂存到阻塞队列中等待执行
4)如果阻塞队列已经满了,则会创建新线程来执行新的任务
5)如果线程数已达到最大线程数,则会执行拒绝策略
6)拒绝策略有四种,会根据设置的来执行。
2.线程池有哪些状态?
running、shutdown、stop、tidying、terminated
1)线程处于running状态,会接收新来的任务,同时也会执行已添加的任务
2)shutdown状态,调用threadpool.shutdown方法的时候会处于该状态,线程池处于该状态时,会拒绝新的任务,但会把已添加到对列中的任务执行完
3)stop状态,调用threadPool.shutdownNow()方法时会处于该状态,线程池处于该状态,会拒绝新的任务进来,同时也会终止正在执行的任务,队列中的任务也不会执行
4)tidying状态,当线程池调用了shutdown或者shutdownNow方法,线程池中的线程数变成0后,会进入该状态,即线程池中工作状态的线程数为0
5)termenated状态,代表整个线程池终止;
最后
以上就是动人海燕为你收集整理的线程池-线程池工作原理以及状态的全部内容,希望文章能够帮你解决线程池-线程池工作原理以及状态所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复