? En syklus eller sløyfe er en algoritme som fører til en datamaskin for å gjenta et sett med instruksjoner inntil en betingelse er oppfylt . Noen ganger er en syklus defineres på en slik måte at det ikke er noen driftstilstand, eller det kan aldri være oppfylt. Når programmet når denne sekvensen , blir det fast i den sløyfe alltid ( eller , mest sannsynlige , inntil maskinen er tilbakestilt eller prosessen blir avbrutt ) . Når det skjer , er programmet sies å ha inngått en uendelig syklus . Eksempel
En datamaskin gitt følgende sekvens av instruksjoner vil bli sittende fast i en uendelig loop : en
A = 0;
B = 0 ;
< p> Mens A < 10 {
B = B 1 ;
}
i vanlig engelsk , setter programmet ovenfor A og B til null , og deretter fortsetter å øke B til A er lik 10 . Dette er mest sannsynlig et programmeringsspråk feil, som å øke verdien av B ikke kan muligens gjøre en lik 10 , og programmet blir sittende fast i en uendelig loop.
Årsaker
< p > Feil som fører til uendelige sykluser er vanlig blant uerfarne programmerere, som kan glemme å inkludere en avslutning betingelse for en enkel løkke eller uforvarende kan gjøre det utilgjengelig . Erfarne programmerere kan også lage uendelig loop feil , som et samspill av flere programmer noen ganger skaper uforutsette situasjoner fører til vranglås eller andre former for uendelige sykluser .
Konsekvenser
< p > konsekvensene av å nå en uendelig syklus varierer avhengig av arkitekturen av operativsystemet. I eldre datamaskiner, kan uendelige sykluser potensielt fryse hele systemet , som påvirker alle brukere . I mer moderne, multi - tasking miljøer de uakseptable programmet bruker de tilgjengelige ressurser, men er tvunget til å gå tilbake kontrollen til operativsystemet fra tid til annen , og dermed gjør brukeren oppsigelse av sykling prosessen .
Tilsiktet bruke
Selv om mange uendelige sykluser er nådd ved en feil, noen av dem tjener en nyttig hensikt . For eksempel må en datamaskin konstant overvåke enheter for inndata eller aktivitet med mindre den er slått av , og denne prosessen med konstant overvåking kan karakteriseres som en uendelig loop. Gamle videospill konsoller ble ofte "stuck" i en uendelig syklus også, til slutt tilbake til tittelen skjermen etter den uunngåelige " game over ".