while
プログラムがループを開いたままにしておくためにループに依存するたびに、ほぼ 100% の CPU を使用していることに気付きました。20 ミリ秒の遅延を追加すると、その数値は 0% になります。
次のコードは、CPU を最大化します。
while(executing){
// Do some things
if(Quit) executing = 0;
}
しかし、次はそうではありません:
while(executing){
// Do some things
if(Quit) executing = 0;
delayFunction(20); //20ms delay
}
これは正しい方法ですか?もしそうなら、何が適切な遅延と考えられますか?
CPU の過負荷を回避するためのより良い方法はありますか?