I datorprogrammering , är en loop en serie instruktioner en dator exekverar ett visst antal gånger . En oändlig loop är en loop som kan köra för evigt om inte någon yttre händelse orsakar loopen att avsluta . Lyckligtvis har de flesta oändliga slingor gör slut . Men när de inte gör det , kan problem uppstå och påverka en applikation eller datorn som är värd det . Trivia
" Infinite Loop " är en gata som omger Apple Computers huvudkontor i Cupertino , Kalifornien . Var och en av de sex byggnader som utgör komplexet har en ensiffrig adress . Denna unika kombination av datorns termen " Infinite Loop " och den ensiffriga adress struktur som används av företaget ger Apple en officiell adress " 1 Infinite Loop . " Frasen " Infinite Loop " är också titeln på en bok av Michael Malone som krönikor början av Apple Computer .
Missuppfattningar
Många oändliga slingor är egentligen inte oändligt . Vid en viss punkt , kommer en process att föra dem till ett stopp . Denna process kan vara att stänga av en webbläsare eller till och omstart av en dator . Programmerare hänvisar ibland till icke - oändliga slingor som oändlig . Ett exempel på en ändlig oändlig loop är en webbsida animation . Använda JavaScript , kan en utvecklare skapa en loop som flyttar ett objekt med några sekunders mellanrum . Slingan skulle köra flera gånger . Däremot kan det upphöra så småningom om exploatören beslutar att koda programmet så animeringen stannar när objektet når en fördefinierad punkt på skärmen .
Coding
följande uttalande visar hur en utvecklare skapar en vanlig slinga i ett program :
loopCounter = 0; loopLimit = 100 ;
medan loopCounter är mindre än loopLimitbegin , ( göra något ) ; ( lägg till en till loopCounter ) änden ,
Denna kod säger , " Medan loopCounter ( 0 ) är mindre än loopLimit ( 100 ) , gör något . " Slingan kommer att upprepa 100 gånger. För att skapa en oändlig slinga , gör en utvecklare till värdet av loopCounter aldrig når 100 . Han kunde göra det genom att utesluta " ( lägg till en till loopCounter ) " uttalande eller genom att byta ut " medan loopCounter är mindre än loopLimit " uttalande med " medan 1 är lika med 1 . " Om en utvecklare gör att slingan aldrig tar slut eftersom man alltid kommer att motsvara en .
Exempel
Timers och klockor på vissa webbsidor ibland köra inne oändliga loopar . Slingan börjar när en besökare öppnar en sida och det fortsätter tills besökaren lämnar sidan . Vissa övervakning tillämpningar bygger på oändlig loop bearbetning för att hålla ett öga på lokala eller fjärranslutna processer . Till exempel kan du skapa en Windows Service program som hämtar data från en webbtjänst varje timme och lagrar den i en databas .
Varningar
oändliga slingor är inte svårt att skapa. I själva verket , vissa utvecklare skapa dem oavsiktligt . När detta händer , desktop och webb - baserade applikationer kan loopa kontinuerligt , konsumerar stora mängder systemresurser . Följande är ett exempel på en vanlig icke - oändlig loop definieras i en JavaScript -funktion :
var loopLimit = 100 ; for (var i = 0 ; i. < loopLimit , i + + ) { //gör något }
Denna slinga kommer " göra något " tills den når den gräns som den variabeln , " loopLimit . " I detta exempel kommer slinga körs 100 gånger. Men vad händer om värdet av loopLimit får ökas med någon annan funktion ? Om detta inträffar , kan slingan aldrig slut . Utvecklare bör vara medvetna om denna gemensamma programmeringsfel . Andra oavsiktliga loopar kan uppstå om en utvecklare bygger på någon yttre händelse , till exempel ett musklick , att stoppa slingan och att händelsen inte hända . Addera