01线程池原理剖析

01线程池原理剖析

01线程池原理剖析
02线程池的结构体描述信息
03线程池的各个函数解析
04线程池完整的头文件和实现文件(.c)

1 为何需要线程池?
我们知道,多路IO转接是可以支持多个客户端的连接与处理,举例poll解释,他可以一次监听到多个客户端请求返回,并遍历confd数组进行处理,也就是说,Server是直接进行处理的;再看epoll,他是有请求就给你建立连接,并且设置为非阻塞是非常高效的,不需要立马就处理请求。因为它有回调函数帮忙进行处理,但实际上仍然是Server自己处理。如果客户端非常活跃的情况下,导致很多回调函数处理,也是非常耗时的,所以epoll比较支持多连接,少活跃的情况。
那么我们能不能建立连接后的事情处理不放在主线程Server处理呢,所以这就是我们需要使用到线程池的原因。

2 图形帮助理解
在这里插入图片描述
后面的章节将会分析线程池结构体成员信息、线程池各个函数描述与注释。

猜你喜欢

转载自blog.csdn.net/weixin_44517656/article/details/108687205