В большинстве случаев программирования не рекомендуется использовать бесконечный цикл, потому что это может привести к зависанию программы и необходимости принудительного завершения её работы. 1
При использовании конструкций с циклами нужно проверять, что условие выхода из цикла будет выполнено. 1 Иначе программа может перегрузить процессор и использовать много ресурсов памяти. 34
Однако в некоторых случаях бесконечный цикл используют намеренно, например:
- Если нужно производить какие-то действия с интервалом и выходить из цикла лишь в том случае, когда внутри тела «зашито» условие выхода. 3 Пример: функция, которая возвращает соединение с базой данных. 3 Если связь с базой данных отсутствует, соединение будет пытаться установиться до тех пор, пока не установится. 3
- Если пишется полноценный демон, который продолжительное время висит как процесс в системе и периодически производит какие-то действия. 3 В таком случае остановкой цикла будет прерывание работы программы. 3 Пример: скрипт, который раз в 10 минут «пингует» IP адреса и пишет в лог отчёт о доступности этих адресов. 3
В бесконечных циклах рекомендуется ставить таймаут выполнения после каждой итерации, иначе они могут сильно нагрузить CPU. 3