Posizione: Casa > internet >

Che cosa è una condizione di competizione?

   condizioni Race

hanno a che fare con i tentativi da parte di un sistema o di un dispositivo individuale di impegnarsi in multitasking. In generale, una condizione di competizione si verifica quando il sistema sta tentando di elaborare due o più operazioni simultaneamente diverse, ma non è in grado di farlo. Il motivo del fallimento è che le operazioni non sono allineati nella giusta sequenza, una circostanza può portare al sistema di chiusura.

Mentre molti diversi dispositivi sono configurati per consentire il multitasking, vi è ancora un processo interno che crea una gerarchia di funzioni. Al fine di talune funzioni a prendere posto, le altre funzioni deve avvenire in anticipo. Mentre l'utente finale percepisce che tutte le funzioni può sembrare che si svolgono allo stesso tempo, questo non è necessariamente il caso.

Una condizione di competizione si crea quando due o più operazioni sono in competizione tra loro per raggiungere il completamento prima di altre operazioni. Quando tutte le singole funzioni sono correttamente disposti, questo porta al successo di tutte le funzioni in modo tempestivo. Tuttavia, se la sequenza delle operazioni è buttato fuori di equilibrio, questo crea un collo di bottiglia. Nel peggiore dei casi, la condizione di gara comporterà l'impossibilità per il sistema di continuare nel suo tentativo di elaborare tutte le funzioni in ordine attualmente impegnata. Perché il sistema può essere necessario per elaborare la funzione quinto nella stringa prima le funzioni di primo e secondo può essere completato, l'intera stringa deve essere interrotta e ristabilita nel giusto ordine.

Un esempio comune di una condizione di competizione ha a che fare con il trattamento dei dati. Se un sistema riceve i comandi per leggere i dati esistenti durante la scrittura di nuovi dati, questo può portare a un conflitto che provoca il sistema di chiudere in qualche modo. Il sistema può visualizzare un qualche tipo di messaggio di errore se la quantità di dati che vengono elaborati messi uno sforzo eccessivo sulle risorse disponibili, o il sistema può semplicemente chiudere. Quando questo accade, di solito è una buona idea per riavviare il sistema e iniziare la sequenza di nuovo. Se la quantità di dati in fase di elaborazione è notevole, può essere meglio per consentire l'assimilazione dei nuovi dati per essere completato prima di tentare di leggere uno dei dati attualmente memorizzati.

Molti sistemi di evitare il potenziale di una condizione di gara, stabilendo le priorità nei protocolli operativi. Le priorità sono stabilite a funzionare bene all'interno della capacità del sistema e quindi limitare la capacità di una condizione di competizione per lo sviluppo.

----------------------------------
Articolo correlato:
----------------------------------