Motivi per Scrivi Infinite Loop

September 3

Un ciclo infinito è un costrutto di programmazione software che viene eseguito sempre. Se non è scritta correttamente, può essere fermato solo operando un reset del sistema. Tuttavia, una o più condizioni di uscita possono permettere un ciclo infinito per terminare con grazia. Di solito il risultato di errori di codifica, come le condizioni di esecuzione del ciclo non corrette. loop Infinite sono necessari in alcuni casi, come ad esempio le applicazioni che devono essere disponibili 24/7, stress test e porte di comunicazione dati dei sondaggi.

I fatti

L'algoritmo generale per un loop infinito è la seguente: do {sequenza di azioni} while (sempre vera espressione logica). Anche se la sintassi reale può essere diversa per Java, C ++ e altri linguaggi di programmazione, uno dei costrutti comuni - per, do-while e mentre - può essere utilizzato per implementare con successo cicli infiniti. condizioni di uscita interrompere l'esecuzione del ciclo, ad esempio quando l'operatore colpisce una particolare chiave di ingresso o quando il programma incontra un valore particolare. Per esempio, un semplice ciclo infinito con una condizione di interruzione può essere scritta come segue:

while (true) {

get_name ("What is your name?", operator_name)
if operator_name = Null then break}

Questo ciclo utilizza una funzione, get_name (), per richiedere continuamente per un nome. Il nome immesso dall'operatore viene memorizzato nella variabile, operator_name. Le interruzioni del ciclo, se l'operatore non inserire un nome e operator_name contiene "Null", che significa zero.

24/7 Applicazioni

loop infiniti possono essere utilizzati in applicazioni 24/7. Gli esempi includono sportelli automatici, le applicazioni basate sul Web e le applicazioni mission-critical in ospedali e le impostazioni militari. Alcune di queste applicazioni utilizzano software e hardware per attivare gli interrupt compiti, che sono programmi autonomi che eseguono funzioni specifiche. Tuttavia, sono utilizzati anche costrutti di loop infinito, con condizioni di interruzione adeguati. Il software di interfaccia operatore sportello automatico, ad esempio, chiede continuamente il cliente se vorrebbe eseguire qualsiasi altra azione: solo quando entra il cliente "no" vuol fermare, restituire la scheda e stampare il record della transazione.

Lo stress test

Un ciclo infinito può essere utilizzato per sottolineare software di test e applicazioni hardware. Le prove di stress coinvolge dispositivi che funzionano attraverso molteplici iterazioni e in ambienti difficili per verificare la vulnerabilità. Ad esempio, un ciclo infinito potrebbe verificare se un software si blocca dopo un certo numero di iterazioni. Un ciclo infinito potrebbe anche essere coinvolti in prove di stress usi ripetuti di tasti e controlli sui dispositivi di input dell'operatore, come telefoni cellulari e tastiere.

votazione

loop infinito può rivelarsi utile per porte di comunicazione polling di ingresso / uscita su computer e dispositivi di strumentazione. Anche se alcuni di questo può essere fatto utilizzando gli interrupt, dove un segnale dalla porta dice al sistema operativo che i dati è in attesa di essere ricevuti o trasmessi, i programmatori possono anche scrivere un loop infinito per eseguire queste operazioni. Ad esempio, un ciclo infinito che attiva ogni tanto può controllare tutte le porte di ingresso / uscita su un dispositivo di controllo per i dati, e poi andare dormiente per non consumare capacità del processore eccesso.