什么是线程池?
利用已有的线程继续操作。保存已有的线程的地方。
Executors是一个创建线程工厂的类,提供了常用的一下三种方法:
1.newSingleThreadExecutor
2.newFixedThreadPool
3.newCachedThreadPool
newSingleThreadExecutor是创建一个只有一个线程的线程池,如果这个唯一的线程因为异常结束,那么会有一个新的线程来代替它。执行顺序遵循公平性原则。
newCachedThreadPool 是往线程池里添加线程,线程池中的线程一起执行,都相互争夺cpu资源。
newFixedThreadPool创建一个固定线程数的线程池,以共享无界队列的方式运行这些线程。线程池的线程结束一个再执行一个。线程池中的线程数,总是小于等于线程池固定数,满足线程处理时,总是满线程数处理。
线程池的好处:
1.降低资源消耗
2.提高相应速度
3.提高线程的可管理性
4.防止服务器过载