繁体   English   中英

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

[英]Clarification on multithreaded/asynchronous/parallel programming

我在网上阅读了许多有关多线程/异步/并行编程的文章,并且经常遇到如下类似的声明。

写入文件时,即使同时有等待处理的请求也不会使用CPU。 这些系统的一般指示是即使在压力条件下,响应时间长且CPU使用率低。

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

希望我的问题很明确。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM