概念:
简单来说,线程池就是一堆已经创建好了的线程,初始时,它们都处于等待状态,当有新的任务需要处理的时候,就从这个池子里面取一个等待的线程来处理该任务,当处理完成了就再次把该线程放回池中,以供后面的任务使用。当池子里的线程全都处于忙碌状态时,线程池中没有可用的等待线程,此时,要么创建一个新的线程并置入池中,要么通知任务线程池忙,稍后再试。
必要性:
我们说,线程的创建和销毁比之进程的创建和销毁是轻量级的,但是当我们需要进行大量线程的创建和销毁操作时,这个消耗就会变得相当大。比如,当你设计一个压力性能测试框架的时候,需要连续产生大量的并发操作,这个时候,线程池就可以很好的帮上忙。线程池的好处就在于线程复用,一个任务处理完成后,当前线程可以直接处理下一个任务,而不是销毁后再创建,适用于连续产生大量并发任务的场合。
http://blog.youkuaiyun.com/hinyunsin/article/details/6650879