Um loop infinito é uma construção de programação de software que é executado sempre. Se não está escrito corretamente, ele só pode ser interrompida por fazer uma reinicialização do sistema . No entanto, uma ou mais condições de saída pode permitir que um loop infinito para terminar graciosamente. Eles geralmente resultam de erros de codificação , como as condições de execução do loop incorretas . Loops infinitos são necessários em certos casos , como os aplicativos que devem estar disponíveis 24/7, testes de estresse e portas de comunicação de dados de sondagem. Fatos
O algoritmo geral para um loop infinito é a seguinte : do { seqüência de ações } while ( sempre verdadeira expressão lógica). Embora a sintaxe real pode ser diferente para Java , C + + e outras linguagens de programação , qualquer uma das construções comuns - para , do-while e ao mesmo tempo - pode ser usado para implementar com sucesso loops infinitos . Condições de saída parar a execução do ciclo, por exemplo, quando o operador pressiona uma tecla de entrada particular, ou quando o programa encontrar um valor particular . Por exemplo, um loop infinito simples, com uma condição de interrupção poderia ser escrito da seguinte forma:
while ( true) {
get_name ("Qual é o seu nome? " , Operator_name )
se operator_name = Null em seguida, quebrar }
Este circuito usa uma função , get_name (), para pedir- continuamente por um nome. O nome introduzidos pelo operador é armazenado na variável , operator_name . As quebras de loop se o operador não digite um nome e operator_name contém " nulo ", que significa zero.
24/7 Applications
Loops infinitos podem ser usados em 24/7 aplicações. Exemplos incluem caixas automáticos , aplicativos baseados na Web e aplicativos de missão crítica em hospitais e ambientes militares . Alguns desses aplicativos usam software e hardware interrupções para ativar tarefas , que são programas autônomos que executam funções específicas. No entanto, também são usados construções de loop infinito com condições de interrupção adequados. O software de interface com o operador caixa automático , por exemplo, pede continuamente ao cliente se ele gostaria de realizar qualquer outra ação : apenas quando o cliente entra em "não" ele parar, devolver o cartão e imprimir o registro de transação
< . br>
teste de Stress
um loop infinito pode ser usado para enfatizar teste de software e aplicações de hardware . Os testes de estresse envolve a execução de dispositivos através de várias iterações e em ambientes hostis para verificar se há vulnerabilidades. Por exemplo, um loop infinito pode verificar para ver se uma aplicação de software deixa de funcionar depois de um certo número de iterações . Um loop infinito também poderia ser envolvido em testes de estresse usos repetidos de chaves e controles sobre os dispositivos de entrada do operador , tais como telefones celulares e teclados.
Polling
laços infinito pode vir a calhar para as portas de comunicação de entrada polling /saída em computadores e dispositivos de instrumentação . Apesar de alguns isso pode ser feito usando as interrupções , onde um sinal da porta diz ao sistema operacional que os dados estão à espera de ser recebida ou transmitida , os programadores também pode escrever loops infinitos para realizar essas tarefas . Por exemplo, um loop infinito que ativa a cada tantas vezes pode verificar todas as portas de entrada /saída em um dispositivo de monitoramento para os dados , e depois ir dormente , de modo a não consumir excesso de capacidade do processador.