Ce este o buclă infinită?

O buclă infinită este o condiție care face ca un program de calculator să continue să execute o comandă fără sfârșit. Acest lucru se datorează de obicei uneia dintre cele trei cauze: programul nu are o condiție de sfârșit, starea de sfârșit a programului nu este atinsă sau o comandă repetă determină repornirea continuă a programului. De cele mai multe ori, o buclă infinită va face ca un computer să încetinească drastic sau chiar să se blocheze. La primele computere, aceste bucle necesitau adesea o repornire, dar sistemele de operare moderne le vor prinde adesea și vor termina programul înainte de a scăpa de sub control.

În cadrul programării există bucle infinite; alte utilizări ale termenului sunt de obicei incorecte. În majoritatea cazurilor, buclele infinite nu sunt scopul final al programului și există o problemă undeva în cod care provoacă apariția condiției. Fiecare dintre cele trei cazuri principale ale unei bucle infinite este complet bazat pe programare și software.

Când un program nu are o condiție de final, va continua să execute ultimul său set de instrucțiuni fără final. În multe cazuri, acest lucru va duce la blocarea programului, deoarece așteaptă o instrucțiune finală care nu va veni niciodată. Alteori, ultima instrucțiune dată programului a fost executarea unei instrucțiuni sau procesarea unei comenzi. În aceste cazuri, va continua să facă aceste lucruri fără sfârșit. Acest lucru va face ca computerul să se umple încet cu comenzi repetate din bucla infinită până când întregul sistem lucrează la o problemă fără sfârșit.

O situație similară există atunci când starea finală a unui program este de neatins. În acest caz, programul se poate încheia, dar nu se va termina niciodată. Problema cu punctul final poate fi în programare sau poate fi o eroare de computer care cauzează condiția. De exemplu, dacă un program solicită o anumită informație dintr-o anumită locație, o eroare de programare ar fi că informațiile sunt stocate într-un loc diferit. Pe de altă parte, dacă informațiile ajung la program, dar sunt întrerupte din cauza interferenței utilizatorului sau a altui program, este posibil să nu ajungă niciodată.

Ultima cauză a unei bucle infinite este complet bazată pe programare. Undeva în cadrul programării este o comandă care îi spune programului să repete ceva. Deși aceste comenzi sunt comune, condițiile nu ar trebui să permită niciodată comenzii repetate să revină la repetarea inițială. Dacă se întâmplă acest lucru, programul va executa o comandă, va apăsa instrucțiunea repeat, apoi va executa comanda din nou, apoi va repeta din nou și așa mai departe. Aceste bucle sunt cel mai probabil să fie programate în mod deliberat, adesea ca parte a unui program malware.