In informatica, la sincronizzazione tra thread è cruciale per evitare che due o più processi accedano simultaneamente alla stessa risorsa, causando condizioni di corsa critica. Il mutex, abbreviazione di mutual exclusion, è uno strumento utilizzato per garantire che solo un thread alla volta possa accedere a una risorsa condivisa.
attraverso il mutex ci assicuriamo che i due thread svolgano un'operazione per volta, in modo da avere stampato la variabile e la lettura attraverso due thread differenti che abbiamo SINCRONIZZATO
consumatore
legge la variabile conta e la stampa
produttore
incrementa la variabile "conta" e la stampa
semafori
programma semafori
c++
definizione
In informatica, un semaforo è un tipo di dato astratto (Abstract Data Type) gestito da un sistema operativo multitasking per sincronizzare l'accesso a risorse condivise tra task (cioè processi o thread)
mutex
si usa quindi per non far lavorare i thread sulla stessa risorsa, "bloccandola",
In informatica il termine mutex (contrazione dell'inglese mutual exclusion, mutua esclusione) indica un procedimento di sincronizzazione fra processi o thread concorrenti, con il quale si impedisce che più task paralleli accedano contemporaneamente ai dati in memoria o ad altre risorse soggette a race condition (o corsa critica).
thread
Un thread o thread di esecuzione, in informatica, è una suddivisione di un processo in due o più filoni o sottoprocessi, che vengono eseguiti concorrentemente