关于多线程/异步/并行编程的说明
本文关键字:编程 说明 并行 异步 多线程 | 更新日期: 2023-09-27 18:33:46
我一直在网上阅读许多关于多线程/异步/并行编程的文章,经常遇到类似的陈述,如下所示。
在写入文件时,即使同时有请求等待处理,也不会使用 CPU。这些系统的一般迹象是响应时间长,CPU 使用率低,即使在压力条件下也是如此。
写入文件时为什么没有使用 CPU?
希望我的问题清楚。
CPU 正在等待硬件指示它已完成处理请求的操作,处理器不会将文件写入硬盘,这由 IDE/SATA/RAID 控制器处理。
基本上,当您"写入"文件时,您将信息发送到硬盘驱动器(此位使用 CPU),但随后您需要等待信息已物理写入磁盘。此等待时间不使用 CPU,但比前一个要长得多。加载时也是如此,您花费 99% 的时间等待硬盘驱动器物理获取信息。
因为 CPU 正在等待来自磁盘的响应。磁盘是一个独立的单元,它通过串行总线(或旧磁盘的并行总线)与 CPU 通信。内置驱动器和外部驱动器之间的技术区别实际上主要在于它是在计算机盒内还是外部。
数据包被发送到要写入的磁盘,然后 CPU 只能等到磁盘完成它的工作,并返回所请求操作的状态。