个锁专题

Linux网络编程(六)-高并发服务器04:线程池【1个锁(用于锁住队列)、2个条件变量(一个用于阻塞“取任务线程”,一个用于阻塞“任务添加者线程(主线程)”)、1个任务循环队列(用于存放任务)】

一、线程池概述 1、什么是线程池? 线程池是一个抽象概念,可以简单的认为若干线程在一起运行,线程不退出,等待有任务处理。 2、为什么要有线程池? 以网络编程服务器端为例,作为服务器端支持高并发,可以有多个客户端连接,发出请求,对于多个请求我们每次都去建立线程,这样线程会创建很多,而且线程执行完销毁也会有很大的系统开销,使用上效率很低。 之前在线程篇章中,我们也知道创建线程并非多多益善,所