Skip to main content

¿Qué es un bucle infinito?

Un bucle infinito es una condición que hace que un programa de computadora continúe ejecutando un comando sin fin. Esto normalmente se debe a una de tres causas: el programa no tiene una condición final, la condición final del programa es inalcanzable o un comando de repetición hace que un programa se reinicie continuamente. La mayoría de las veces, un bucle infinito hará que una computadora se desacelere drásticamente o incluso se bloquee. En las primeras computadoras, estos bucles a menudo necesitarían un reinicio, pero los sistemas operativos modernos a menudo los detectarán y terminarán el programa antes de que se salgan de control.

Existen bucles infinitos dentro de la programación; otros usos del término suelen ser incorrectos. En la mayoría de los casos, los bucles infinitos no son el objetivo final del programa, y ​​existe un problema en algún lugar del código que causa la condición. Cada uno de los tres casos principales de un bucle infinito está completamente basado en programación y software.

Cuando un programa no tiene una condición final, continuará ejecutando su último conjunto de instrucciones sin fin. En muchos casos, esto dará como resultado que el programa se bloquee mientras espera alguna instrucción final que nunca llegará. Otras veces, la última instrucción dada al programa fue ejecutar una instrucción o procesar un comando. En estos casos, continuará haciendo estas cosas sin fin. Esto hará que la computadora se llene lentamente con comandos repetidos desde el bucle infinito hasta que todo el sistema esté trabajando en un problema sin fin.

Existe una situación similar cuando la condición final de un programa es inalcanzable. En este caso, el programa puede finalizar, pero nunca lo hará. El problema con el punto final puede estar en la programación, o puede ser un error de la computadora que causa la condición. Por ejemplo, si un programa solicita una información específica de una ubicación específica, un error de programación sería que la información se almacena en un lugar diferente. Por otro lado, si la información va al programa, pero se interrumpe debido a la interferencia del usuario u otro programa, es posible que nunca llegue.

La última causa de un bucle infinito está completamente basada en la programación. En algún lugar dentro de la programación hay un comando que le dice al programa que repita algo. Si bien estos comandos son comunes, las condiciones nunca deberían permitir que el comando repetido regrese a la repetición inicial. Si esto sucede, el programa ejecutará un comando, presionará la instrucción de repetición, luego ejecutará el comando nuevamente, luego repetirá nuevamente, y así sucesivamente. Es probable que estos bucles se programen deliberadamente, a menudo como parte de una pieza de malware.