聊聊线程池

来源:互联网 发布:国际网络加速器 编辑:程序博客网 时间:2024/05/21 14:05

1. 为什么需要线程池

构建Web服务器的一个简单模型:每接收到一个请求,就创建一个对应的线程来处理这个请求。如下图所示,为client 1, client 2, client 3, client ...的请求,分别创建了对应的线程来处理。我们知道,线程的生命周期可以简单的概括为3个阶段:创建线程、运行线程、销毁线程。如果线程处理请求的时间小于线程创建和销毁的时间,也就是T2 < T1 + T3,我们发现这样做就很不划算。就好比你费了好大劲做了一大桌子菜,客人来了,喝了口小酒,就走了,你还得撤菜,洗盘子,抹桌子。。。。