C while循环中的功率效率&轮询

时间:2016-04-11 21:11:54

标签: c

我听说过,让我们说:

 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) { }

1 个答案:

答案 0 :(得分:0)

从效率的角度来看,重要的是代码不会不断循环。在您的示例中,假设wait()函数正在将控制权返回给您的操作系统,以便它可以立即分派另一个任务。

简而言之,是的,您的第二个示例也是节能的,假设wait()将控制权返回给操作系统。