博客
关于我
线程池源码探究
阅读量:409 次
发布时间:2019-03-06

本文共 422 字,大约阅读时间需要 1 分钟。

线程池简介

使用线程池时,JDK 提供了多种封装类型的线程池,包括 newFixedThreadPoolnewSingleThreadExecutornewCachedThreadPool 等。这些线程池的定义都在 Executors 类中,可以通过查看相关源码更深入了解它们的实现。

核心字段

ThreadPoolExecutor 类中有几个核心字段:

线程池状态

线程池的状态有5种,状态之间的转换关系如下:

执行任务

线程池通过 execute() 方法执行任务,源码如下:

线程池关闭方法

线程池可以通过 shutdown()shutdownNow() 方法关闭。

关闭过程

不论是调用 shutdown() 还是 shutdownNow(),线程池都会通过 getTask() 方法决定线程的退出策略。

通过以上方法,线程池可以在不同的情况下关闭,并确保所有任务都能得到处理或被拒绝。

转载地址:http://tlkkz.baihongyu.com/

你可能感兴趣的文章
pytorch介绍-ChatGPT4o作答
查看>>
PP-PLL:基于概率传播的部分标签学习
查看>>
pytorch介绍
查看>>
pprint 排序字典但不是集合?
查看>>
pptp拨号上网
查看>>
ppt上的倒计时小工具_PPT中有哪些「看似很 LOW,实则惊艳」的小工具
查看>>
PPT添加视频的路径问题
查看>>
PPT美化插件 islide 安装过程问题“加载com加载项时运行出现错误”
查看>>
Prefix Tuning:详细解读Optimizing Continuous Prompts for Generation
查看>>
PreparedStatement 与Statement 的区别,以及为什么推荐使用 PreparedStatement ?
查看>>
PreparedStatement 查询 In 语句 setArray 等介绍。
查看>>
presentModalViewController显示半透明的一个view
查看>>
PresentViewController切换界面
查看>>
PyTorch之torch.utils.data.DataLoader解读
查看>>
PyTorch之DataLoader杂谈
查看>>
presto、druid、sparkSQL、kylin的对比分析
查看>>
Presto分布式大数据查询引擎
查看>>
Presto架构及原理
查看>>
Presto(一)集群部署
查看>>
Presto(二)开启安全认证
查看>>