1 线程池
池化思想 线程池 字符串常量池 数据库连接池
提高资源利用率
1 手动创建线程对象
2 执行任务
3 执行完毕 释放线程对象。
等待队列
优点
提高线程利用率
提高程序响应速度
便于统一管理线程对象
控制最大并发数
应急处理预案
创建新的线程
不可能无限创建线程对象 (最大线程数)
拒绝—
类比银行的营业厅
附加代码
public class Test {
public static void main(String[] args) {
ExecutorService executorService = new ThreadPoolExecutor(3, 5, 1L, TimeUnit.SECONDS, new ArrayBlockingQueue<>(3), Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy());
for(int i=0;i<8;i++){
executorService.execute(()->{
System.out.println(Thread.currentThread().getName()+"===>办理业务");
});
}
executorService.shutdown();
}
}