为什么创建线程池
- 每次new Thread新建对象的性能差
- 线程缺乏统一的管理,可以无限制的创建线程,相互之间竞争,极可能占用过多的资源导致死机
- 缺乏更多的功能,如定期执行,定时执行等
线程池优点
- 重复利用存在的线程,减少线程对象的创建,消亡的开销,提高性能,降低资源的消耗,提高响应速度
- 可以有效控制最大并发线程数,避免过多的资源竞争,堵塞,提高线程的管理性
daemon thread
- 它叫做守护线程,程序的主线程不会是守护线程
- 当程序主线程结束的时候,如果其他还在运行的程序是守护线程,则进程直接退出。如果是非守护线程,则必须等所有非守护线程结束了,进程才能退出