啥叫I/O多路复用?epoll又是个什么东西?你或许看过很多文章,但是还是感觉云里雾里的,今天,我们抛开文字,释放动图,或许你就理解了。
I/O多路复用
通常的一次的请求过程如下图所示:
但是,服务器往往不会只处理一次请求,往往是多个请求,这一个请求,这时候每来一个请求,就会生成一个进程或线程。
在这些请求线程或者进程中,大部分都处于等待阶段,只有少部分是接收数据。这样一来,非常耗费资源,而且这些线程或者进程的管理,也是个事儿。
于是,有人想到一个办法:我们只用一个线程或者进程来和系统内核打交道,并想办法把每个应用的I/O流状态记录下来,一有响应便及时返回给相应的应用。