Hva er en uendelig sløyfe?
En uendelig sløyfe er en tilstand som får et dataprogram til å fortsette å utføre en kommando uten slutt. Dette skyldes vanligvis en av tre årsaker: programmet har ingen sluttbetingelse, programmets slutttilstand er uoppnåelig eller en gjenta kommando får et program til å starte på nytt. Det meste av tiden vil en uendelig sløyfe føre til at en datamaskin drastisk bremser eller til og med låser seg. På tidlige datamaskiner vil disse løkkene ofte nødvendiggjøre omstart, men moderne operativsystemer vil ofte fange dem og avslutte programmet før de går ut av hånden.
Det finnes uendelige løkker innen programmering; annen bruk av begrepet er vanligvis feil. I de fleste tilfeller er uendelige sløyfer ikke sluttmålet med programmet, og det eksisterer et problem et sted i koden som får tilstanden til å oppstå. Hver av de tre hovedsakene av en uendelig sløyfe er fullstendig programmerings- og programvarebasert.
Når et program ikke har noen sluttbetingelse, vil det fortsette å utføre det siste settet med instruksjoner uten slutt. I mange tilfeller vil dette føre til at programmet låser seg når det venter på en endelig instruksjon som aldri kommer. Andre ganger var den siste instruksjonen gitt til programmet å utføre en instruksjon eller behandle en kommando. I disse tilfellene vil den fortsette å gjøre disse tingene uten slutt. Dette vil føre til at datamaskinen sakte fylles med gjentatte kommandoer fra den uendelige sløyfen til hele systemet jobber med et problem uten slutt.
En lignende situasjon eksisterer når et programs sluttforhold er uoppnåelig. I dette tilfellet kan programmet slutte, men det vil aldri gjøre det. Problemet med sluttpunktet kan være i programmeringen, eller det kan være en datamaskinfeil som forårsaker tilstanden. Hvis et program for eksempel ber om et spesifikt stykke informasjon fra et bestemt sted, vil en programmeringsfeil være at informasjonen er lagret på et annet sted. På den annen side, hvis informasjonen går til programmet, men blir avbrutt på grunn av interferens fra brukeren eller et annet program, kan det ganske enkelt aldri komme.
Den siste årsaken til en uendelig sløyfe er fullstendig programmeringsbasert. Et sted innenfor programmeringen er en kommando som forteller programmet å gjenta noe. Selv om disse kommandoene er vanlige, bør forholdene aldri tillate at den gjentatte kommandoen kommer tilbake til den første gjentakelsen. Hvis dette skjer, vil programmet utføre en kommando, trykke på repetisjonsuttalelsen, deretter utføre kommandoen igjen, deretter gjenta igjen, og så videre. Disse løkkene er sannsynligvis programmert bevisst, ofte som en del av et stykke malware.