码迷,mamicode.com
首页 > 其他好文 > 详细

I/O 多路复用的特点:

时间:2018-07-06 11:38:02      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:epoll   检测   sele   ext   复用   接受   文件描述符   socket   io多路复用   

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

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

I/O 多路复用的特点:

标签:epoll   检测   sele   ext   复用   接受   文件描述符   socket   io多路复用   

原文地址:https://www.cnblogs.com/shenge1106/p/9272298.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!