Kaj je neskončna zanka?

Neskončna zanka je pogoj, ki povzroči, da računalniški program nadaljuje z izvajanjem ukaza brez konca. To je običajno posledica enega od treh vzrokov: program nima končnega pogoja, končnega stanja programa ni mogoče doseči ali ukaz za ponavljanje povzroči, da se program neprekinjeno znova zažene. Večino časa bo neskončna zanka povzročila, da se računalnik drastično upočasni ali celo zaklene. V zgodnjih računalnikih bi te zanke pogosto zahtevale ponovni zagon, vendar jih sodobni operacijski sistemi pogosto ujamejo in končajo program, preden uidejo izpod nadzora.

V programiranju obstajajo neskončne zanke; druge rabe izraza so običajno napačne. V večini primerov neskončne zanke niso končni cilj programa in nekje v kodi obstaja težava, ki povzroči nastanek pogoja. Vsak od treh glavnih primerov neskončne zanke v celoti temelji na programiranju in programski opremi.

Ko program nima končnega pogoja, bo še naprej izvajal svoj zadnji niz navodil brez konca. V mnogih primerih bo to povzročilo, da se program zaklene, saj čaka na neko končno navodilo, ki nikoli ne bo prišlo. Včasih je bilo zadnje navodilo, dano programu, izvajanje ukaza ali obdelava ukaza. V teh primerih bo te stvari še naprej počela brez konca. To bo povzročilo, da se bo računalnik počasi polnil z ponavljajočimi se ukazi iz neskončne zanke, dokler celoten sistem ne bo delal na težavi brez konca.

Podobna situacija je, ko je končni pogoj programa nedosegljiv. V tem primeru se program lahko konča, vendar se nikoli ne bo. Težava s končno točko je lahko v programiranju ali pa je računalniška napaka, ki povzroča stanje. Na primer, če program zahteva določeno informacijo z določene lokacije, bi bila programska napaka, da so informacije shranjene na drugem mestu. Po drugi strani pa, če gre informacija v program, vendar je prekinjena zaradi motenj uporabnika ali drugega programa, morda nikoli ne pride.

Zadnji vzrok za neskončno zanko je v celoti zasnovan na programiranju. Nekje v programiranju je ukaz, ki programu pove, naj nekaj ponovi. Čeprav so ti ukazi pogosti, pogoji nikoli ne bi smeli dovoliti, da se ponovljeni ukaz vrne na prvotno ponovitev. Če se to zgodi, bo program izvedel ukaz, pritisnil stavek repeat, nato znova izvedel ukaz, nato ponovil in tako naprej. Te zanke so najverjetneje namerno programirane, pogosto kot del zlonamerne programske opreme.