假设我有一些代码可以做到这一点:
while(1) {
scanf("%c", &key);
// if E or e, exit
if (key == 'E' || key == 'e')
break;
}
这显然不会占用哪怕一个核心的所有资源。它只是......“坐”在那里,直到有人真正按下 E。我的问题是:运行时如何发现它不应该占用一个核心的所有资源,只是等待一个 scanf?scanf 是一种特殊情况,因为它是 I/O,因此操作系统会调度它直到有效按下一个键?我可以while
通过说a++
在循环内添加一个来强制它一直运行吗?