1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

update java-concurrent-questions-03.md

This commit is contained in:
jun 2023-08-02 16:46:44 +08:00
parent 045cef80d3
commit 82f4a75267

View File

@ -213,7 +213,7 @@ static class Entry extends WeakReference<ThreadLocal<?>> {
- **`FixedThreadPool`**:该方法返回一个固定线程数量的线程池。该线程池中的线程数量始终不变。当有一个新的任务提交时,线程池中若有空闲线程,则立即执行。若没有,则新的任务会被暂存在一个任务队列中,待有线程空闲时,便处理在任务队列中的任务。
- **`SingleThreadExecutor`** 该方法返回一个只有一个线程的线程池。若多余一个任务被提交到该线程池,任务会被保存在一个任务队列中,待线程空闲,按先入先出的顺序执行队列中的任务。
- **`CachedThreadPool`** 该方法返回一个可根据实际情况调整线程数量的线程池。线程池的线程数量不确定,但若有空闲线程可以复用,则会优先使用可复用的线程。若所有线程均在工作,又有新的任务提交,则会创建新的线程处理任务。所有线程在当前任务执行完毕后,将返回线程池进行复用
- **`CachedThreadPool`** 该方法返回一个可根据实际情况调整线程数量的线程池。初始大小为0。当有新任务提交时如果当前线程池中没有线程可用它会创建一个新的线程来处理该任务。如果在一段时间内默认为60秒没有新任务提交核心线程会超时并被销毁从而缩小线程池的大小
- **`ScheduledThreadPool`**:该方法返回一个用来在给定的延迟后运行任务或者定期执行任务的线程池。
对应 `Executors` 工具类中的方法如图所示: