【发布时间】:2023-04-07 17:59:01
【问题描述】:
我很确定无限循环会消耗 100% 的 CPU。为什么下面的循环没有? (任务管理器显示0%)
do
{
// Do something
} while (Console.ReadKey(true).Key != ConsoleKey.Escape);
【问题讨论】:
-
ReadKey()块。这不是一个繁忙的循环。 -
此外,真正的无限循环(倾向于)消耗 100% 的单个 CPU 线程。您可以拥有其中的一到十二个。如果您运行的是 Windows(C#,可能是这样),硬件线程数 == 设备管理器的“处理器”节点中的节点数。
-
在循环中放置一个断点并找出原因。
标签: c# .net infinite-loop