首页 文章

澄清多线程/异步/并行编程

提问于
浏览
2

我在网上阅读了很多关于多线程/异步/并行编程的文章,我经常遇到类似的声明,如下所示 .

While a file is being written, the CPU will not be used even if in the meantime there are requests waiting to be processed. A general indication of these systems is a long response time with low CPU usage, even in stress conditions.

如何在写入文件时不使用CPU?

希望我的问题很明确 .

3 回答

  • 1

    因为CPU正在等待来自磁盘的响应 . 磁盘是一个独立的单元,它通过串行总线(或旧磁盘的并行总线)与CPU通信 . 内部驱动器和外部驱动器之间的技术差异实际上主要在于它是在计算机盒的内部还是外部 .

    将一个数据包发送到要写入的磁盘,然后CPU只能等到磁盘完成它的工作,并返回所请求操作的状态 .

  • 4

    CPU正在等待硬件指示它已完成处理所请求的操作,您的处理器不会将文件写入硬盘,这是由IDE / SATA / RAID控制器处理的 .

  • 2

    基本上,当您“写入”文件时,您将信息发送到硬盘驱动器(此位使用CPU),但您需要等待信息已物理写入磁盘 . 此等待时间不使用CPU,但显着长于前一个 . 加载时,您花费99%的时间等待硬盘驱动器物理获取信息 .

相关问题