我是靠谱客的博主 动人海燕,最近开发中收集的这篇文章主要介绍线程池-线程池工作原理以及状态,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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状态,代表整个线程池终止;

最后

以上就是动人海燕为你收集整理的线程池-线程池工作原理以及状态的全部内容,希望文章能够帮你解决线程池-线程池工作原理以及状态所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(100)

评论列表共有 0 条评论

立即
投稿
返回
顶部