IO编程,相关概念

Posted _七杀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO编程,相关概念相关的知识,希望对你有一定的参考价值。

在IO编程中,就存在速度严重不匹配的问题。举个例子来说,比如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这100M数据可能需要10秒,怎么办呢?

有两种办法:

  • 同步IO
    • CPU等着,也就是程序暂停执行后续代码,等100M的数据在10秒后写入磁盘,再接着往下执行,这种模式称为同步IO
    • 你去麦当劳点餐,你说“来个汉堡”,服务员告诉你,对不起,汉堡要现做,需要等5分钟,于是你站在收银台前面等了5分钟,拿到汉堡再去逛商场
  • 异步IO
    • CPU不等待,只是告诉磁盘,“您老慢慢写,不着急,我接着干别的事去了”,于是,后续代码可以立刻接着执行,这种模式称为异步IO
    • 你说“来个汉堡”,服务员告诉你,汉堡需要等5分钟,你可以先去逛商场,等做好了,我们再通知你,这样你可以立刻去干别的事情(逛商场)

 

以上是关于IO编程,相关概念的主要内容,如果未能解决你的问题,请参考以下文章

Cpython解释器下实现并发编程——多进程多线程协程IO模型

Linux系统编程-文件IO标准库IO刷新缓冲模式

深度长文:从bio到nio到aio,再到响应式编程

4.6 并发编程/IO模型

python之IO编程

Java IO 基础