我听说过,让我们说:
while(1){
i = !2;
wait(1);
}
节能。这个while循环是否在i != 2
处停止,因此不进行轮询?让我们说:
while(x == 3){
if(c == 3){
x = 4;
}
wait(1);
}
这是否遵循类似的概念,或者i = !2
是否必须满足以继续while循环的过程?你会说这是节能吗? 第二个例子在功效方面是否与第一个相似?
我使用效率低下的民意调查显示的一个例子是:
while (x == 3) { }
答案 0 :(得分:0)
从效率的角度来看,重要的是代码不会不断循环。在您的示例中,假设wait()
函数正在将控制权返回给您的操作系统,以便它可以立即分派另一个任务。
简而言之,是的,您的第二个示例也是节能的,假设wait()
将控制权返回给操作系统。