1、线程的复用:线程的创建和销毁对系统来说是巨大的开销,而用线程池管理线程能大大减少了这种不必要的开销。
2、控制线程的并发数:控制线程池中线程的并发数,可以防止大量线程争夺CPU资源而造成的堵塞。比如用
FixedThreadPool 可以控制线程的最大并发数,超出部分在队列中等待。
3、可以对线程进行管理:线程池可以提供定时、定期,使用
ScheduledThreadPool线程池来执行S秒后,每隔N秒执行一次的任务。
使用CachedThreadPool不需要制定线程数量,可以灵活创建线程。空闲线程由JVM回收。
使用SingleThreadExecutor 来实现单线程化的线程