ループ (プログラミング)
かつてのプログラミング環境では、処理待ちをするためにループを使用する場合があった。例えば、
ユーザーが何かキーを入力するまで待機する:
一定の時間間隔をおいて処理を行う:
などである。これらのコーディングテクニックは、スリープ機能やマルチタスク機能、イベント(メッセージ)やスレッド機能などが用意されていなかったために使用せざるを得なかったものであり、現代的なオペレーティングシステムにおけるプログラミング環境ではほとんど使用されることはない。特にスピンループを使用した待機は、実際の待機時間がプロセッサ(CPU)のハードウェア仕様(クロック周波数)に左右され、また負荷に応じてクロックが変動する動的オーバークロック機構(Intel Turbo Boostなど)を備えたプロセッサでは通用しない。さらに、スピンループは1つのプログラムが延々とプロセッサ時間(CPU時間)を使い続けることになり、電力効率が悪くなったり、優先順位の低い別のタスクの実行速度に悪影響を与えたりする。コンパイラの最適化によって、無意味なループは除去されてしまうこともある。