Test-and-set: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
|  Ho aggiunto dei dettagli |  Aggiunto l'operatore & nell'argomento della chiamata di Test-and-Set. | ||
| 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.  <source lang bool lock = FALSE; while(...){    while(Test-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 | |||