new Thread().start();
- 线程的频繁创建和销毁
- 线程的数量过多,会造成 CPU 资源的开销。
- 上下文切换 (消耗 CPU 资源)
连接池、对象池、内存池、线程池 。。。
池化技术的核心: 复用
需求: 实现线程的重复使用.
让线程重复使用的唯一方法,就是使线程不结束
通过阻塞队列,实现线程复用
线程池实现只需要一个阻塞队列就可以实现,当线程去阻塞队列拿任务的时候,如果阻塞队列没有任务,那么该线程就阻塞在这里。
IO 密集型 CPU 2core+1
CPU 密集型 CPU +1