? En cyklus eller løkke er en algoritme, der forårsager en computer til at gentage et sæt instruktioner , indtil en betingelse er opfyldt . Undertiden er en cyklus defineret på en sådan måde , at der ikke er nogen driftstilstand , eller det kan aldrig blive opfyldt . Når programmet når denne sekvens , bliver det fast i , at sløjfen evigt (eller , mest sandsynligt, indtil computeren nulstilles eller processen afbrydes ) . Når det sker , er programmet siges at have indgået en uendelig cyklus. Eksempel
En computer får følgende sekvens af instruktioner vil sidde fast i en uendelig løkke : Hej
A = 0;
B = 0;
< p> Mens A < 10 {
B = B +1
}
på almindeligt dansk , at programmet over indstiller A og B til nul, og derefter holder stigende B, indtil A er lig 10 . Det er mest sandsynligt et programmeringssprog fejl , da øge værdien af B ikke kan eventuelt gøre A lig med 10 , og programmet bliver hængende i en uendelig løkke.
Årsager
Fejl fører til uendelige cyklusser er udbredt blandt nybegyndere programmører, som måske glemmer at medtage en afslutning betingelse for en simpel løkke eller måske uforvarende gøre det utilgængelig . Erfarne programmører kan også oprette uendelig løkke fejl , da samspillet mellem flere programmer skaber sommetider uforudsete situationer , der fører til blokeringer eller andre former for uendelige cyklusser.
Konsekvenser
konsekvenserne af nå frem til en uendelig cyklus varierer afhængigt arkitektur operativsystemet. I ældre computere, kan uendelige cyklusser potentielt fryse hele systemet , der påvirker alle brugere. I mere moderne , multi- tasking miljøer den fejlende program bruger de tilgængelige ressourcer, men er tvunget til at vende tilbage kontrollen til operativsystemet fra tid til anden, således at brugeren opsigelse af cykling processen.
Forsætlig brug
Selv om mange uendelige cyklusser er nået ved en fejl, nogle af dem tjener et nyttigt formål . For eksempel skal en computer konstant overvåger enheder til input eller aktivitet , medmindre det er slukket, og denne proces med konstant overvågning kan karakteriseres som en uendelig løkke . Gamle videospil konsoller blev ofte "hængende" i en uendelig cyklus også sidst vender tilbage til titlen skærmen efter det uundgåelige "game over. "