Differenze tra le versioni di "Race condition"

nessun oggetto della modifica
(ortografia)
{{A|Voce incomprensibile e priva di incipit, non comprensibile nemmeno da studenti in informatica|informatica|maggio 2012}}
{{S|informatica}}
La '''Race Condition''' è un vincolo che viene utilizzato nella specifica dei [[Concorrenza (informatica)|sistemi concorrenti]].
Una '''Race Condition''' è una condizione che si verifica quando, ad esempio, due processi accedono allo stesso tempo a una risorsa condivisa (entrambi in modalità di scrittura). A titolo di esempio si può immaginare che un processo "A" acceda ad un registro, scrivendo al suo interno il valore 3, contemporaneamente un altro processo "B" tenta di accedere allo stesso registro scrivendo al suo interno il valore 2. Data l'impossibilità di determinare in anticipo quale valore sarà contenuto dal registro al termine dei cicli di scrittura simultanei, si verifica una Race Condition.
Un sistema basato su processi multipli presenta una race condition se il risultato finale dell'esecuzione dei processi dipende dalla temporizzazione con cui vengono eseguiti. L'assenza di race condition è necessaria per il corretto funzionamento di un sistema concorrente.
 
==Origine del termine==
Il termine Race Condition deriva dalla dipendenza temporale dei processi di scrittura nella risorsa. Continuando il nostro esempio precedente, se è il processo "A" ad accedere alla risorsa per primo (ma con una differenza di tempo talmente piccola da non poter essere determinata), probabilmente come risultato finale otterremo 2, cioè il valore sovrascritto dal processo "B". Quindi il termine Race Condition deriva dall'ipotetica gara tra i due processi, dove nel nostro caso il secondo arrivato avrà determinato il valore scritto nel registro.
 
==Race Condition in elettronica==
5

contributi