MyThreadPoolDemo.java
public class MyThreadPoolDemo {
public static void main(String[] args) {
ExecutorService threadPool = new ThreadPoolExecutor(
2, // 默认2个线程
5, // 最多 5 个线程
1L, // 等待时间
TimeUnit.SECONDS, // 等待时间单位
new LinkedBlockingDeque<>(3), // 阻塞等待区可容纳任务数3
Executors.defaultThreadFactory(), // 默认格式
new ThreadPoolExecutor.AbortPolicy()); // 拒绝策略3种
// 5 个任务需要 2个线程来处理
// 最多 5 + 3 个任务,如果多余8个,就会强制拒绝。 上面参数2 + 参数5的个数(5+3)
for (int i = 0; i < 10; i++) {
threadPool.execute(() -> {
System.out.println(Thread.currentThread().getName() + "/ 处理业务");
});
}
threadPool.shutdown();
}
}
只做记录。