这篇文章将为大家详细讲解有关深入浅析Java中线程池的原理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。ThreadPoolExecutor简介ThreadPoolExecutor是线程池类
这篇文章将为大家详细讲解有关深入浅析Java中线程池的原理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
ThreadPoolExecutor简介
ThreadPoolExecutor是线程池类。对于线程池,可以通俗的将它理解为"存放一定数量线程的一个线程集合。线程池允许若个线程同时允许,允许同时运行的线程数量就是线程池的容量;当添加的到线程池中的线程超过它的容量时,会有一部分线程阻塞等待。线程池会通过相应的调度策略和拒绝策略,对添加到线程池中的线程进行管理。"
ThreadPoolExecutor数据结构
ThreadPoolExecutor的数据结构如下图所示:
各个数据在ThreadPoolExecutor.java中的定义如下:
// 阻塞队列。private final BlockingQueue<Runnable> workQueue;// 互斥锁private final ReentrantLock mainLock = new ReentrantLock();// 线程集合。一个Worker对应一个线程。private final HashSet<Worker> workers = new HashSet<Worker>();// “终止条件”,与“mainLock”绑定。private final Condition termination = mainLock.newCondition();// 线程池中线程数量曾经达到过的最大值。private int largestPoolSize;// 已完成任务数量private long completedTaskCount;// ThreadFactory对象,用于创建线程。private volatile ThreadFactory threadFactory;// 拒绝策略的处理句柄。private volatile RejectedExecutionHandler handler;// 保持线程存活时间。private volatile long keepAliveTime;private volatile boolean allowCoreThreadTimeOut;// 核心池大小private volatile int corePoolSize;// 最大池大小private volatile int maximumPoolSize;
--结束END--
本文标题: 深入浅析Java中线程池的原理
本文链接: https://www.lsjlt.com/news/225554.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0