Co je nekonečná smyčka?

Nekonečná smyčka je podmínka, která způsobí, že počítačový program bude pokračovat ve provádění příkazu bez konce. To je obvykle způsobeno jednou ze tří příčin: program nemá žádnou podmínku ukončení, podmínka ukončení programu je nedosažitelná nebo příkaz opakování způsobí, že se program neustále restartuje. Nekonečná smyčka způsobí, že počítač se drasticky zpomalí nebo dokonce zamkne. V počátečních počítačích by tyto smyčky často vyžadovaly restart, ale moderní operační systémy je často zachytí a program ukončí, než se vymknou z rukou.

V programování existuje nekonečná smyčka; jiná použití termínu jsou obvykle nesprávná. Ve většině případů nekonečné smyčky nejsou konečným cílem programu a někde v kódu existuje problém, který způsobuje, že se stav vyskytne. Každý ze tří hlavních případů nekonečné smyčky je zcela založen na programování a softwaru.

Pokud program nemá žádnou podmínku ukončení, bude pokračovat v provádění své poslední sady pokynů bez konce. V mnoha případech to povede k uzamčení programu, protože čeká na konečnou instrukci, která nikdy nepřijde. Jindy poslední instrukcí danou programu bylo provádění instrukce nebo zpracování příkazu. V těchto případech bude tato činnost pokračovat i nadále. To způsobí, že se počítač pomalu zaplní opakovanými příkazy z nekonečné smyčky, dokud celý systém nebude fungovat bez problému.

Podobná situace existuje, když je konečná podmínka programu nedosažitelná. V tomto případě může program skončit, ale nikdy to neudělá. Problém s koncovým bodem může být v programování nebo to může být chyba počítače, která způsobí podmínku. Například, pokud program požádá o konkrétní část informace z konkrétního umístění, programovací chyba by byla, že informace jsou uloženy na jiném místě. Na druhou stranu, pokud informace jde do programu, ale je přerušena kvůli rušení ze strany uživatele nebo jiného programu, může to prostě nikdy nedorazit.

Poslední příčinou nekonečné smyčky je zcela programování. Někde v rámci programování je příkaz, který říká programu, aby něco opakoval. I když jsou tyto příkazy běžné, podmínky by nikdy neměly umožnit návratu opakovaného příkazu k původnímu opakování. Pokud k tomu dojde, program provede příkaz, stiskne příkaz opakování, poté příkaz provede znovu, pak znovu opakuje atd. Tyto smyčky jsou s největší pravděpodobností záměrně naprogramovány, často jako součást malwaru.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?