Skip to main content

Vad är en oändlig slinga?

En oändlig slinga är ett villkor som får ett datorprogram att fortsätta utföra ett kommando utan slut.Detta beror vanligtvis på en av tre orsaker: programmet har inget slutvillkor, programmets slutvillkor är ouppnåligt eller ett upprepat kommando gör att ett program kontinuerligt startar om.För det mesta kommer en oändlig slinga att få en dator att sakta ner eller till och med låsa upp.I tidiga datorer skulle dessa slingor ofta kräva en omstart, men moderna operativsystem kommer ofta att fånga dem och avsluta programmet innan de går ur handen.

Oändliga slingor finns inom programmering;Andra användningar av termen är vanligtvis felaktiga.I de flesta fall är oändliga slingor inte slutmålet för programmet, och ett problem finns någonstans i koden som gör att tillståndet inträffar.Var och en av de tre huvudfallen i en oändlig slinga är helt programmerande och mjukvarubaserad.

När ett program inte har något slutvillkor kommer det att fortsätta att utföra sin sista uppsättning instruktioner utan slut.I många fall kommer detta att resultera i att programmet låser sig när det väntar på någon slutlig instruktion som aldrig kommer.Andra gånger var den sista instruktionen som gavs till programmet att utföra en instruktion eller bearbeta ett kommando.I dessa fall kommer det att fortsätta göra dessa saker utan slut.Detta kommer att göra att datorn långsamt fylls med upprepade kommandon från den oändliga slingan tills hela systemet arbetar med ett problem utan slut.

En liknande situation finns när ett programs slutvillkor är ouppnåeligt.I det här fallet kan programmet ta slut, men det kommer aldrig att göra det.Problemet med slutpunkten kan vara i programmeringen, eller det kan vara ett datorfel som orsakar tillståndet.Till exempel, om ett program ber om en specifik information från en specifik plats, skulle ett programmeringsfel vara att informationen lagras på en annan plats.Å andra sidan, om informationen går till programmet, men avbryts på grund av störningar från användaren eller ett annat program, kan det helt enkelt aldrig anlända.

Den sista orsaken till en oändlig slinga är helt programmeringsbaserad.Någonstans inom programmeringen är ett kommando som säger programmet att upprepa något.Även om dessa kommandon är vanliga, bör förhållandena aldrig tillåta det upprepade kommandot att komma tillbaka till den första upprepningen.Om detta händer kommer programmet att köra ett kommando, träffa det upprepade uttalandet, kör sedan kommandot igen, upprepa sedan igen och så vidare.Dessa slingor är de mest troliga att vara medvetet programmerade, ofta som en del av en bit av skadlig programvara.