1.什么是线程池
线程池就是一个可以复用线程的技术
2.不使用线程池的问题
用户每发起一个请求,后台就需要创建一个新线程来处理,下次新任务来了肯定又要创建新线程处理的,而创建新线程的开销是很大的,并且请求过多时,肯定会产生大量的线程出来,这样会严重影响系统的性能。
3.谁代表线程池
JDK5.0起提供了代表线程池的接口:ExecutorService。
4.如何得到线程池对象
①方式一:使用ExecutorService的实现类ThreadPoolExecutor自创建一个线程池对象
②方式二:使用Executors(线程池的工具类)调用方法返回不同特点的线程池对象
5.ThreadPoolExecutor构造器
6.线程池的注意事项
1.临时线程什么时候创建
①新任务提交时发现核心线程都在忙,任务队列也满了,并且还可以创建临时线程,此时才会创建临时线程。
2.什么时候会开始拒绝新任务
②核心线程和临时线程都在忙,任务队列也满了,新的任务过来的时候才会开始拒绝任务。