無限ループ 【infinite loop】 永久ループ
単に無限ループといった場合、プログラムの欠陥(バグ)などにより開発者が意図せずループが終了しなくなってしまう状態を指すことが多い。
ループ処理の制御文には繰り返し回数や継続条件、終了条件などを記述して特定の条件が満たされると終了するよう構成することが多いが、記述ミスや繰り返し部分での処理の誤りによって、いつまでも終了しなくなってしまうことがある。
この状態が無限ループで、想定した処理や操作によってプログラムを終了させることはできなくなってしまう。オペレーティングシステム(OS)など外部からの介入により強制的にプログラムを終了するか、それも難しい場合はコンピュータ自体の電源断や再起動が必要になることもある。
一方、OS自身やサーバソフトウェアのように、利用者の操作や外部からの接続の受け付けなどを行うため、コンピュータが稼働し続ける限り延々と特定の処理をループし続ける必要があるソフトウェアもあり、そのような場合はコード中で意図的に無限ループを記述する。
この場合、実際にはループ中に外部からの要求などに応じて様々な処理を行ったり、新しいプログラムを起動したりといった処理が行なわれ、一定の操作や制御によってループを脱出してプログラムを終了できるようになっている場合もある。
(2021.12.30更新)