Test-and-set: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
presenza - in nome funzione
Nessun oggetto della modifica
Riga 12:
L'istruzione permette a più processi coordinanti di modificare una variabile condivisa senza incorrere nell'inconsistenza dei dati cioè modificandola senza il rischio che con la prelazione del sistema operativo un processo non concluda la modifica dei dati portando così a risultati imprevedibili. La zona di codice in cui il programma modifica questi dati condivisi è detta sezione critica. L'obiettivo è che su n processi solamente uno entri in sezione critica evitando così che altri processi cooperanti ad esso accedano a dati non ancora completamente modificati, mantenendo la coerenza dei dati.
 
<syntaxhighlight lang="Cppcpp">
bool lock = FALSE;
while(...){
while(Test-and-SetTest_and_Set(&lock)) ; //il processo attende: qualcun altro è in sezione critica
// -- SEZIONE CRITICA --
lock = FALSE; //il processo è uscito da SC: permette ad un altro processo di entrare