当前位置:  技术问答>linux和unix

关于I/O多路复用与线程的理解

    来源: 互联网  发布时间:2017-04-10

    本文导语:        以下是我对I/O多路复用的理解,请大家看看是否正确。如果有错,请提出来,非常感谢!       设计并发程序时,采用one event loop per thread的模型,那么I/O多路复用的本质还是单线程。epoll等I/O多路复用模...

      以下是我对I/O多路复用的理解,请大家看看是否正确。如果有错,请提出来,非常感谢!
      设计并发程序时,采用one event loop per thread的模型,那么I/O多路复用的本质还是单线程。epoll等I/O多路复用模型可以同时监听多个fd,比如同时监听stdin和一个socket。但是,在对多个产生事件的fd进行处理的时候,程序的处理流程依旧是顺序且依次处理发生事件的fd的,这个阶段在本质上依旧是阻塞且同步的。所以,non-blocking IO就可以在这时发挥作用,比如非阻塞的socket,等等。
      在一篇文章中看到,"I/O复用"其实复用的不是IO连接,而是复用线程。在复用线程的基础上,处理多个fd的时候依旧是顺序执行的。这一点该如何理解呢?

|
一个线程同时兼顾多个fd,如果这些fd都有事件发生时,这个线程就需要依次顺序处理了

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • JMF中如何实现多路音频的混合输出?期待高手指教!
  • 多路播放器的问题,问题解决了补加100分,请各位大哥指教
  • 用select做多路复用时,臬知道是哪一个描述符可读?
  • 多路I/O中select机制的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,