时间:2025-06-25 18:33
人气:
作者:admin
推荐阅读:
Java线程池实现原理及其在美团业务中的实践 - 美团技术团队
定义:工具
解决问题:在并发环境下,系统不能够确定在任意时刻中,有多少任务需要执行,有多少资源需要投入。
用途:管理和复用线程,减少线程的创建和销毁开销。
总结:线程池是用来管理和复用线程的工具,它可以减少线程的创建和销毁开销。
4+2+1=7
任务提交 → 核心线程执行 → 任务队列缓存 → 非核心线程执行 → 拒绝策略处理。
if 正在运行的线程数<核心线程数:直接使用空闲的核心线程 或 创建核心线程来执行
else if 正在运行的线程数>=核心线程数:放入等待队列
else if 等待队列满了&&正在运行的线程数<最大线程数:创建非核心线程来执行(刚刚提交的这个任务)
else if 等待队列满了&&正在运行的线程数>=最大线程数:拒绝策略的执行
最后:线程执行完毕后,线程并不会立即销毁,而是继续保持,在池中等待下一个任务。
但是,当非核心线程空闲时间超出存活时间(当前线程数量大于核心线程数时),线程会被回收。
总结为5种情况

【这个图精辟!】
五种。
上一篇:springboot~hibernate实现外键表加载
下一篇:一次HTTP请求