gpt4 book ai didi

c# - 等待 IO 的线程会阻塞 CPU 吗?

转载 作者:行者123 更新时间:2023-11-30 15:01:45 25 4
gpt4 key购买 nike

假设我有一个 C# 线程正在执行一些阻塞 IO 并等待它完成。现在操作系统调度程序给它 CPU 时间。它会立即归还还是只会被线程什么都不做使用?或者也许是完全不同的东西?

最佳答案

在 Windows 上,阻塞 IO 到任何设备(可通过文件系统接口(interface)或其他方式访问)的工作方式是将 IO 请求连同事件对象的句柄发送到与设备关联的驱动程序,然后阻塞调用线程等待那个事件对象。 (该事件将在驱动程序完成 IO 时发出信号)。因此,当线程执行阻塞 IO 时,它不会占用 CPU,因为它只是在等待事件句柄。

所有阻塞 IO API 都以这种方式工作,在实现上可能存在细微差别。

关于c# - 等待 IO 的线程会阻塞 CPU 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13603797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com