线程池的介绍及简单实现
线程池技术如何提高服务器程序的性能
假设在一台服务器完成一项任务的时间为T
T1 创建线程的时间
T2 在线程中执行任务的时间,包括线程间同步所需时间
T3 线程销毁的时间
显然T = T1+T2+T3。注意这是一个极度简化的假设。
线程池的简单实现及对比测试
一般一个简单线程池至少包含下列组成部分。
线程池管理器(ThreadPoolManager):用于创建并管理线程池
工作线程(WorkThread): 线程池中线程
任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行。
任务队列:用于存放没有处理的任务。提供一种缓冲机制。
关于高级线程池的探讨
方案一:动态增加工作线程
方案二:优化工作线程数目
方案三:一个服务器提供多个线程池
示例
TestThreadPool