java多线程之-线程池状态
2022/2/22 9:23:30
本文主要是介绍java多线程之-线程池状态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.背景
这一节我们来学习一下线程池状态.....
2.线程池状态
状态名称 | 高3位 | 是否接受新任务 | 是否处理队列中的任务 | 说明 |
RUNNING | 111 | 是 | 是 | 线程池正常运行状态 |
SHUTDOWN | 000 | 否 | 是 | 不接收新的任务,但是会处理完队列中的任务 |
STOP | 001 | 否 | 否 | 会中断正在执行的任务,并且丢弃队列中的任务 |
TIDYING | 010 | 否 | 否 | 任务执行完成,活动线程数为0,即将进入终结状态 |
TERMINATED | 011 | 否 | 否 | 终结状态 |
3.线程池关闭相关API
public static void main(String[] args) { ExecutorService pool = Executors.newFixedThreadPool(2); /** *线程池状态变为 SHUTDOWN *- 不会接收新任务 *- 但已提交任务会执行完 *- 此方法不会阻塞调用线程的执行 */ // pool.shutdown(); /** * 线程池状态变为 STOP * - 不会接收新任务 * - 会将队列中的任务返回 * - 并用 interrupt 的方式中断正在执行的任务 */ // pool.shutdownNow(); // 不在 RUNNING 状态的线程池,此方法就返回 true pool.isShutdown(); // 线程池状态是否是 TERMINATED pool.isTerminated(); }
完美!
这篇关于java多线程之-线程池状态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04百万架构师第六课:设计模式:策略模式及模板模式
- 2025-01-04百万架构师第七课:设计模式:装饰器模式及观察者模式
- 2025-01-04适用于企业管理的协作工具API推荐
- 2025-01-04挑战16:被限流的CPU
- 2025-01-03企业在选择工具时,如何评估其背后的技术团队
- 2025-01-03Angular中打造动态多彩标签组件的方法
- 2025-01-03Flask过时了吗?FastAPI才是未来?
- 2025-01-0311个每位开发者都应知道的免费实用网站
- 2025-01-03从REST到GraphQL:为什么以及我是如何完成转型的
- 2025-01-03掌握RAG:从单次问答到连续对话