当并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。
线程池的作用就是使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务。
Executors.newCachedThreadPool(); 可缓存线程池,线程超过需要可回收,不足可新建,第一个线程跑完之后新任务仍然跑第一个线程
Executors.newFixedThreadPool() 创建定长线程池,超出定长等待
Executors.newScheduledThreadPool 创建定长线程池 支持定时或周期性任务
Executors.newSingleThreadExecutor()创建单线程化线程池 任务按指定顺序(fifo,filo)执行
仅做笔记,未及时整理,欢迎交流