多路复用IO及异步IO

撬动未来的支点 6月前 450

1. IO操作基本概念

IO操作分为两步:

  1. 等待IO就绪
  2. 读写IO

2. 多路复用IO

提高等待IO就绪效率的技术方案是:多路复用IO

用少量线程等待大量IO,提高IO等待效率。复用指的是线程。

复用的方式有多种,下面是相关文章:

  • IO多路复用——深入浅出理解select、poll、epoll的实现:https://zhuanlan.zhihu.com/p/430986475
  • 【死磕 NIO】— Proactor模式是什么?很牛逼吗?:https://zhuanlan.zhihu.com/p/430986475

相关技术:

  • linux编程中的select,poll,epoll。

3. 异步IO

提高步骤读写IO效率的方案是:异步IO:

操作系统内核去读写,将数据读取到用户内存空间,减少内存拷贝。读写完,通知用户线程的函数去直接处理即可。

相关技术

  • Windows中的Overlapped IO:https://blog.csdn.net/cfz751740465/article/details/114259011

4. 结语

多路复用IO和异步IO只是一种优化技术,通常在高性能网络编程中使用,一般场景下没必要使用。

技术在不断迭代,很多新技术是优化技术,在时间有限的情况下,对其工作原理有了解即可。在真正使用的时候再去仔细研究。在计算机行业,技术层出不穷,学是学不完的,要把握最本质的东西。人的生命有限,需要化繁为简。

最新回复 (0)
返回
发新帖