IT用語集 › プログラミング › 無限ループ

無限ループ

プログラミング Svenska → 更新: 2026-10-21

条件がいつまでも偽にならないループ。深刻なバグか、まさに意図どおりの設計かのどちらか。

うっかり作ってしまう場合は、カウンタが上限に届かない、終了判定で別の変数を比べている、浮動小数点の丸めのせいでi != 1.0が永遠に真のまま、といった形で現れる。症状は、1スレッドがコアを100%占有しているのに、プログラムのほかの部分は生きているように見えることだ。外から見るとデッドロックに似ているが、こちらはCPUを全く使わないので、見分ける最短の手がかりになる。

意図的な無限ループは思われているより多い。内部にbreakを持つwhile (true)は、イベントループやサーバーのaccept処理、終了を想定しない組み込みシステムの標準的な形だ。どちらを書いたのかを自動で判定できるツールが存在しないのは、ツールの怠慢ではなく証明された結果である。停止性問題を参照。

← 用語集に戻る