I/O 多路复用的特点:

Posted shenge1106

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I/O 多路复用的特点:相关的知识,希望对你有一定的参考价值。

  I/O 多路复用是通过一种机制使一个进程能同时等待多个文件描述符(fd),而这些文件描述符(套接字描述符)其中的任意一个进入读就绪状态,epoll()函数就可以返回。 所以, IO多路复用,本质上不会有并发的功能,因为任何时候还是只有一个进程或线程进行工作,它之所以能提高效率是因为selectepoll 把进来的socket放到他们的 ‘监视‘ 列表里面,当任何socket有可读可写数据立马处理,那如果selectepoll 手里同时检测着很多socket, 一有动静马上返回给进程处理,总比一个一个socket过来,阻塞等待,处理高效率。

  当然也可以多线程/多进程方式,一个连接过来开一个进程/线程处理,这样消耗的内存和进程切换页会耗掉更多的系统资源。 所以我们可以结合IO多路复用和多进程/多线程 来高性能并发,IO复用负责提高接受socket的通知效率,收到请求后,交给进程池/线程池来处理逻辑。

以上是关于I/O 多路复用的特点:的主要内容,如果未能解决你的问题,请参考以下文章

I/O多路复用 - select

第15章 高并发服务器编程_I/O多路复用

I/O多路复用

I/O多路复用-EPOLL探索

I/O--多路复用的三种机制Select,Poll和Epoll对比

Python—I/O多路复用