mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-20 22:17:09 +08:00
Update 拿来即用的线程池最佳实践.md
修改一些文本内容
This commit is contained in:
parent
56d02d2a8c
commit
3a90b2513b
@ -8,14 +8,14 @@
|
||||
|
||||
### 为什么要使用线程池?
|
||||
|
||||
> **池化技术相比大家已经屡见不鲜了,线程池、数据库连接池、Http 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。**
|
||||
> **池化技术想必大家已经屡见不鲜了,线程池、数据库连接池、Http 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。**
|
||||
|
||||
**线程池**提供了一种限制和管理资源(包括执行一个任务)。 每个**线程池**还维护一些基本统计信息,例如已完成任务的数量。
|
||||
|
||||
这里借用《Java 并发编程的艺术》提到的来说一下**使用线程池的好处**:
|
||||
|
||||
- **降低资源消耗**。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。
|
||||
- **提高响应速度**。当任务到达时,任务可以不需要的等到线程创建就能立即执行。
|
||||
- **提高响应速度**。当任务到达时,任务可以不需要等到线程创建就能立即执行。
|
||||
- **提高线程的可管理性**。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。
|
||||
|
||||
### 线程池在实际项目的使用场景
|
||||
@ -279,7 +279,7 @@ CPU 密集型简单理解就是利用 CPU 计算能力的任务比如你在内
|
||||
|
||||
- **`corePoolSize` :** 核心线程数线程数定义了最小可以同时运行的线程数量。
|
||||
- **`maximumPoolSize` :** 当队列中存放的任务达到队列容量的时候,当前可以同时运行的线程数量变为最大线程数。
|
||||
- **`workQueue`:** 当新任务来的时候会先判断当前运行的线程数量是否达到核心线程数,如果达到的话,信任就会被存放在队列中。
|
||||
- **`workQueue`:** 当新任务来的时候会先判断当前运行的线程数量是否达到核心线程数,如果达到的话,新任务就会被存放在队列中。
|
||||
|
||||
**为什么是这三个参数?**
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user