mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-20 22:17:09 +08:00
Update java线程池学习总结.md
文本问题处理
This commit is contained in:
parent
302c115d9f
commit
56d02d2a8c
@ -47,7 +47,7 @@
|
||||
|
||||
## 一 使用线程池的好处
|
||||
|
||||
> **池化技术相比大家已经屡见不鲜了,线程池、数据库连接池、Http 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。**
|
||||
> **池化技术想必大家已经屡见不鲜了,线程池、数据库连接池、Http 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。**
|
||||
|
||||
**线程池**提供了一种限制和管理资源(包括执行一个任务)。 每个**线程池**还维护一些基本统计信息,例如已完成任务的数量。
|
||||
|
||||
@ -184,7 +184,7 @@ public class ScheduledThreadPoolExecutor
|
||||
|
||||
### 3.2 推荐使用 `ThreadPoolExecutor` 构造函数创建线程池
|
||||
|
||||
**在《阿里巴巴 Java 开发手册》“并发处理”这一章节,明确指出线程资源必须通过线程池提供,不允许在应用中自行显示创建线程。**
|
||||
**在《阿里巴巴 Java 开发手册》“并发处理”这一章节,明确指出线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。**
|
||||
|
||||
**为什么呢?**
|
||||
|
||||
@ -199,6 +199,7 @@ public class ScheduledThreadPoolExecutor
|
||||
|
||||
**方式一:通过`ThreadPoolExecutor`构造函数实现(推荐)**
|
||||

|
||||
|
||||
**方式二:通过 Executor 框架的工具类 Executors 来实现**
|
||||
我们可以创建三种类型的 ThreadPoolExecutor:
|
||||
|
||||
@ -879,7 +880,7 @@ Wed Nov 13 13:40:43 CST 2019::pool-1-thread-5
|
||||
|
||||
**如何判断是 CPU 密集任务还是 IO 密集任务?**
|
||||
|
||||
CPU 密集型简单理解就是利用 CPU 计算能力的任务比如你在内存中对大量数据进行排序。单凡涉及到网络读取,文件读取这类都是 IO 密集型,这类任务的特点是 CPU 计算耗费时间相比于等待 IO 操作完成的时间来说很少,大部分时间都花在了等待 IO 操作完成上。
|
||||
CPU 密集型简单理解就是利用 CPU 计算能力的任务比如你在内存中对大量数据进行排序。但凡涉及到网络读取,文件读取这类都是 IO 密集型,这类任务的特点是 CPU 计算耗费时间相比于等待 IO 操作完成的时间来说很少,大部分时间都花在了等待 IO 操作完成上。
|
||||
|
||||
## 八 参考
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user