hooyantsing's Blog

22_池化技术及线程池使用

字数统计: 251阅读时长: 1 min
2020/08/27

22 池化技术及线程池使用

狂神说Java JUC并发编程最新版通俗易懂

线程池的好处

线程复用、可以控制最大并发数、管理线程。

线程池:3大方法、7大参数、4种拒绝策略

3大方法

  1. Executors.newSingleThreadExecutor() 单个线程
  2. Executors.newFixedThreadPool(5) 创建一个固定线程数的线程池
  3. Executors.newCachedThreadPool() 可伸缩线程池,遇强则强遇弱则弱。当任务量多时,扩充线程数

    3大方法 案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package pool;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Demo01 {
public static void main(String[] args) {
ExecutorService threadPool = null;
// 1.单个线程
threadPool = Executors.newSingleThreadExecutor();
// 2.创建一个固定线程数的线程池
// threadPool = Executors.newFixedThreadPool(5);
// 3.可伸缩线程池,遇强则强遇弱则弱。当任务量多时,扩充线程数。
// threadPool = Executors.newCachedThreadPool();

try {
for (int i = 0; i < 10; i++) {
threadPool.execute(
() -> {
System.out.println(Thread.currentThread().getName());
}
);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 线程池用完,关闭
threadPool.shutdown();
}
}
}
CATALOG
  1. 1. 22 池化技术及线程池使用
    1. 1.0.1. 线程池的好处
    2. 1.0.2. 线程池:3大方法、7大参数、4种拒绝策略
    3. 1.0.3. 3大方法
    4. 1.0.4. 3大方法 案例