Race condition: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1:
{{A|Voce incomprensibile e priva di incipit, non comprensibile nemmeno da studenti in informatica|informatica|maggio 2012}}
{{S|informatica}}
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.
 
==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 secono arrivato avrà determinato il valore scritto nel registro.
 
==Race Condition in elettronica==
 
 
==Race condition in informatica==
Per evitare il verificarsi di queste condizioni in cui sono coinvolti [[memoria]], [[file]] o risorse condivise, sono stati studiati diversi [[algoritmo|algoritmi]] che prevedano la ''[[mutua esclusione]]'', ovvero, assicurarsi che se la risorsa condivisa è occupata da un processo, durante quell'arco di tempo nessun altro processo potrà accedervi.