为什么这个无限循环不会占用100%的CPU

Zen*_*nya -1 .net c# infinite-loop

我很确定无限循环消耗100%的CPU.为什么以下循环没有?(任务管理器显示0%)

do
{
    // Do something
} while (Console.ReadKey(true).Key != ConsoleKey.Escape);
Run Code Online (Sandbox Code Playgroud)

edt*_*guy 7

Console.ReadKey在发布线程上阻塞,直到用户按下某个键.一个while(true)循环连续执行,消耗同样多CPU的操作系统将允许.

参考:http: //msdn.microsoft.com/en-us/library/x3h8xffw(v=vs.110).aspx