Em programação de computadores, um loop é uma série de instruções de um computador executa um determinado número de vezes . Um loop infinito é um loop que pode correr para sempre , a menos que algum evento externo faz com que o loop para terminar. Felizmente , a maioria dos loops infinitos que terminam . No entanto, quando isso não acontece , os problemas podem ocorrer e prejudicar um aplicativo ou do computador que hospeda -lo. Trivia
" Infinite Loop " é uma rua que circunda escritório corporativo da Apple Computer em Cupertino, Califórnia. Cada um dos seis prédios que compõem o complexo tem um endereço de um único dígito . Esta combinação única de o termo computador " Infinite Loop " ea estrutura de endereço de um dígito utilizado pela empresa dá à Apple um endereço oficial de " 1 Infinite Loop ". A frase " Infinite Loop " é também o título de um livro escrito por Michael Malone , que narra as origens da Apple Computer .
Equívocos
Muitos loops infinitos não são realmente infinito . Em algum momento, um processo irá levá-los a um impasse. Esse processo poderia ser o fechamento de um browser , ou mesmo a reinicialização de um computador . Os programadores , por vezes, referem-se a lacetes não infinito como infinito. Um exemplo de um loop infinito finito é uma animação de página da web. Usando JavaScript, um desenvolvedor pode criar um loop que move um objeto a cada poucos segundos . O loop será executado repetidamente. No entanto, poderia , eventualmente, terminar se o desenvolvedor decide codificar o programa para a animação pára quando o objeto chega a um ponto pré- definido na tela.
Codificação
A declaração a seguir ilustra como um desenvolvedor cria um ciclo regular em um programa:
loopCounter = 0; loopLimit = 100;
enquanto loopCounter é inferior a loopLimitbegin ; ( fazer algo ); ( adicionar um para loopCounter ) end ;
Este código diz: " Enquanto o loopCounter (0) é menor que o loopLimit (100), fazer alguma coisa. " O ciclo vai repetir 100 vezes . Para criar um loop infinito , um desenvolvedor torna-se o valor de loopCounter nunca chega a 100 . Ele poderia fazer isso , excluindo a declaração " ( adicionar um para loopCounter )" ou através da substituição do " enquanto loopCounter é inferior a loopLimit " declaração com " enquanto um é igual a 1 . " Se um desenvolvedor faz isso , o loop nunca vai acabar porque um será sempre igual a um .
Exemplos
temporizadores e relógios em algumas páginas da Web , por vezes, dentro de loops infinitos . O ciclo inicia-se quando um visitante abre uma página e continua até que o visitante sai da página. Algumas aplicações de monitoramento dependem de processamento de loop infinito para manter um olho sobre os processos locais ou remotos. Por exemplo, você poderia criar um aplicativo Windows Service que recupera dados de um serviço Web a cada hora e as armazena em um banco de dados .
Avisos
Loops infinitos não são difíceis para criar . Na verdade, alguns desenvolvedores de criá-los sem querer. Quando isso acontece, aplicações desktop e baseados na Web pode fazer um loop continuamente , consumindo grandes quantidades de recursos do sistema. O seguinte é um exemplo de um loop infinito não- comum definida dentro de uma função JavaScript :
var loopLimit = 100; for (var i = 0; i < loopLimit ; i + + ) {//faz alguma coisa } < br >
Este ciclo vai "fazer algo" , até atingir o limite definido pela variável ", loopLimit ". Neste exemplo , o ciclo irá correr 100 vezes . No entanto, o que acontece se o valor de loopLimit é incrementado por alguma outra função ? Se isso ocorrer , o circuito pode nunca acabar . Os desenvolvedores devem estar cientes deste erro de programação comum. Outros circuitos não intencionais podem ocorrer se um desenvolvedor depende de algum evento externo , como um clique do mouse, para interromper o ciclo e que o evento deixa de acontecer .