Categorias: Todos - concorrenza - risorse

por stefano sarpa 8 anos atrás

266

Semafori Sarpa

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.

Semafori Sarpa

libreria mutex

libreria thread

risultato

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