为什么 C# 标准消息循环不会显著增加 CPU 使用率



到目前为止,我了解到,C# 中的标准消息循环如下所示:

while(GetMessage(&msg, NULL, 0, 0))
{ 
TranslateMessage(&msg); 
DispatchMessage(&msg); 
}

但我想知道的是,它如何保持较低的 CPU 使用率和响应时间良好(在 Windows 表单场景中(? 是因为它将线程设置为低优先级还是其他什么?

由于 GetMessage 不会立即返回,因此它会在等待时阻塞,让 CPU 空闲地执行其他操作

最新更新