Un ciclo infinito è un costrutto di programmazione software che viene eseguito sempre. Se non scritto correttamente, può essere fermata solo effettuando un reset del sistema . Tuttavia, una o più condizioni di uscita possono permettere un ciclo infinito per terminare con grazia . Di solito derivano da errori di codifica , quali le condizioni di esecuzione del ciclo non corrette . Cicli infiniti sono necessari in alcuni casi , come ad esempio le applicazioni che devono essere disponibili 24/7 , stress test e le porte di comunicazione dati elettorali . Fatti
L'algoritmo generale per un ciclo infinito è la seguente : do { sequenza di azioni } mentre ( sempre - vera espressione logica) . Anche se la sintassi reale può essere diversa per Java , C + + e altri linguaggi di programmazione , uno qualsiasi dei costrutti comuni - per , do-while e mentre - può essere utilizzato per implementare con successo cicli infiniti . Condizioni di uscita bloccato l'esecuzione del ciclo , ad esempio quando l' operatore colpisce una particolare chiave di ingresso o quando il programma incontra un particolare valore . Ad esempio , un semplice ciclo infinito con una condizione di rottura potrebbe essere scritto come segue :
while (true ) {
get_Name ( " Qual è il tuo nome ? " , Operator_name ) per < p > se operator_name = Null poi rompere }
Questo ciclo utilizza una funzione , get_Name ( ) , per richiedere continuamente per un nome. Il nome immesso dall'operatore viene memorizzato nella variabile , operator_name . Il ciclo si rompe se l'operatore non entra un nome e operator_name contiene "Null ", che significa zero.
Applicazioni 24/7
loop infinito può essere utilizzato in applicazioni 24/7 . Gli esempi includono i distributori automatici , le applicazioni basate su Web e le applicazioni mission-critical negli ospedali militari e le impostazioni . Alcune di queste applicazioni utilizzano software e hardware interrompe per attivare compiti , che sono programmi autonomi che eseguono funzioni specifiche . Tuttavia, sono anche utilizzati costrutti di loop infinito , con condizioni di interruzione adeguati . La macchina software di interfaccia operatore sportello automatico , per esempio , chiede continuamente il cliente se desidera eseguire qualsiasi altra azione : solo quando il cliente entra "no" non si ferma , torna la carta e stampare il record delle transazioni
< . br>
stress test
un ciclo infinito può essere usato per sottolineare software di test e applicazioni hardware . Le prove di stress coinvolge i dispositivi che funzionano attraverso più iterazioni e in ambienti difficili per individuare eventuali vulnerabilità . Ad esempio , un ciclo infinito potrebbe verificare se un software blocca dopo un certo numero di iterazioni . Un ciclo infinito potrebbe anche essere coinvolta nel test di stress usi ripetuti di tasti e controlli sui dispositivi di input dell'operatore, come telefoni cellulari e tastiere .
Polling
loop infinito può rivelarsi utile per ingresso /uscita elettorali porte di comunicazione su computer e dispositivi di strumentazione . Sebbene parte di questo può essere fatto utilizzando gli interrupt , in cui un segnale dalla porta dice al sistema operativo che i dati è in attesa di essere ricevuti o trasmessi , i programmatori possono anche scrivere cicli infiniti per eseguire queste operazioni . Ad esempio , un ciclo infinito che si attiva ogni tanto può controllare tutte le porte di input /output su un dispositivo di monitoraggio per i dati , e poi andare in sospeso in modo da non consumare in eccesso di capacità del processore .