美文网首页
Linux IO多路复用

Linux IO多路复用

作者: KevinL水杉 | 来源:发表于2020-08-10 11:10 被阅读0次

转自:https://www.zhihu.com/question/32163005/answer/255238636

通俗理解IO多路复用

IO 多路复用是5种I/O模型中的第3种,对各种模型讲个故事,描述下区别:

故事情节为:老李去买火车票,三天后买到一张退票。参演人员(老李,黄牛,售票员,快递员),往返车站耗费1小时。

1.阻塞I/O模型

老李去火车站买票,排队三天买到一张退票。

耗费:在车站 3天,其他事一件没干。

2.非阻塞I/O模型

老李去火车站买票,隔12小时去火车站问有没有退票,三天后买到一张票。

耗费:往返车站6次,路上6小时,其他时间做了好多事。

3.I/O复用模型

1.select/poll

老李去火车站买票,委托朋友,然后每隔6小时电话问朋友,朋友三天内买到票,然后老李去火车站交钱领票。

耗费:往返车站2次,路上2小时,给朋友手续费100元,打电话17次

2.epoll

老李去火车站买票,委托朋友,朋友买到后即通知老李去领,然后老李去火车站交钱领票。

耗费:往返车站2次,路上2小时,朋友手续费100元,无需打电话

4.信号驱动I/O模型

老李去火车站买票,给售票员留下电话,有票后,售票员电话通知老李,然后老李去火车站交钱领票。

耗费:往返车站2次,路上2小时,免黄牛费100元,无需打电话

5.异步I/O模型

老李去火车站买票,给售票员留下电话,有票后,售票员电话通知老李并快递送票上门。

耗费:往返车站1次,路上1小时,免黄牛费100元,无需打电话

1同2的区别是:自己轮询

2同3的区别是:委托朋友

3同4的区别是:电话代替朋友

4同5的区别是:电话通知是自取还是送票上门

相关文章

  • IO多路复用详解

    IO多路复用详解 IO多路复用的实现方式 我们这里只讨论linux两个典型的实现,select和epoll sel...

  • 1.Nette入门第一章——IO演进

    1. IO 基础 1.1. linux网络IO模型 阻塞IO模型 非阻塞IO模型 IO多路复用模型(NIO) 信...

  • Netty和NIO-未完待续

    linux底层支持bio(阻塞io),nio(多路复用io),aio(异步非阻塞io),信号io等多种方案; jd...

  • Android基础进阶 - 消息机制 之Native层分析

    目录 基础知识简介Linux eventfd事件等待/响应机制Linux IO多路复用epoll Android消...

  • 自己动手实现Epoll

    Epoll是Linux IO多路复用的管理机制。作为现在Linux平台高性能网络IO必要的组件。内核的实现可以参照...

  • epoll知识点总结

    epoll是linux IO多路复用的管理机制,现在是linux平台高性能网络io必要的组件。 理解内核epoll...

  • IO多路复用

    参考资料:[1]. 聊聊Linux 五种IO模型[2]. 聊聊IO多路复用之select、poll、epoll详解...

  • select poll和epoll的区别

    IO多路复用是linux中IO模式的一种,与多进程和多线程相比,I/O多路复用技术最大的优势是系统开销小,系统不必...

  • NIO selector 多路复用reactor线程模型--20

    多路复用IO模型:多路复用IO模型是目前使用得比较多的模型。JavaNIO实际上就是多路复用IO。在多路复用IO模...

  • IO多路复用

    什么是IO多路复用 IO多路复用解决什么问题 目前有哪些IO多路复用的方案 具体怎么用 不同IO多路复用方案优缺点...

网友评论

      本文标题:Linux IO多路复用

      本文链接:https://www.haomeiwen.com/subject/hegddktx.html