到目前为止,我了解到,C# 中的标准消息循环如下所示:
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
但我想知道的是,它如何保持较低的 CPU 使用率和响应时间良好(在 Windows 表单场景中(? 是因为它将线程设置为低优先级还是其他什么?
由于 GetMessage 不会立即返回,因此它会在等待时阻塞,让 CPU 空闲地执行其他操作