线程池的概念
通常,我们创建一个并发服务器,总会创建一个监听线程,用于监听客户端请求和创建和客户端通信的线程,通信完成后销毁线程,虽然我们使用了线程分离,但是线程资源还是要系统回收,当客户端请求过于频繁时,服务器就需要频繁的创建和销毁线程,极大的占用了系统资源,为了节约这部分系统资源,我们就可以引入线程池的概念
线程池的思想
在程序初始化时,提前在内存中创建好一些线程,当有客户请求访问时,从线程池中选择一个空闲线程用来处理客户数据,当通信完成后线程进入线程池。如果没有空闲线程的话,就将数据包暂时积累, 等待线程池内有空闲线程以后再进行处理。通过对多个任务重用已经存在的线程对象,降低了对线程对象创建和销毁的开销。当客户请求 时,线程对象已经存在,可以提高请求的响应时间,从而整体地提高了系统服务的表现。