5. Supporto POSIX alla Programmazione Concorrente intra processo - POSIX Thread
Argomenti: thread, POSIX thread, concorrenza, mutua esclusione, sincronizzazione,
mutex, condition variable
Riferimenti: Capitolo 4 "Thread" e 5 "Sincronizzazione di Processi" del libro di testo.
Introduzione all'uso di POSIX Threads
5_Introduzione_All_Uso_di_POSIX_Thread.pdf (Dispense delle lezioni)
--- Esempi utili ---
Passaggio di parametri al pthread
banale_giusto.c
Makefile
modo corretto di passare parametri ai pthread
con_trucco.c
Makefile
trucco osceno ma corretto per passare parametri interi ai pthread
banale_errato.c
banale_moltoerrato.c
Makefile
due modi sbagliati di passare parametri ai pthread
Sincronizzazione [o no] con la fine di un pthread
joinable.c
restituzione di risultato da un pthread
detached.c
non restituzione di risultato da pthread
cancel.c
eliminazione di un pthread
Makefile
Makefile per i tre esempi joinable detached cancel
Mutua Esclusione di pthread in sezioni critiche con Mutexes (Binary Semaphores)
mutex.c
esempio di protezione in mutua esclusione tra pthread
printerror.h
un file di macro per stampare informazioni sugli errori
Makefile
il Makefile per compilare l'esempio mutex
Sincronizzazione di pthread con Mutexes e Condition Variables
esempio NON EFFICENTE di Sincronizzazione (PROVOCA BUSY WAITING)
busywaiting_gallinauovavolpe.c
printerror.h
busywaiting_Makefile
esempio CORRETTO di Sincronizzazione e Mutua Esclusione tra pthread
gallinauovavolpe.c
printerror.h
Makefile
CondVarBroadcast.c
esempio #1 di Sincronizzazione e Mutua Esclusione tra pthread
CondVarSignal.c
esempio #2 di Sincronizzazione e Mutua Esclusione tra pthread
printerror.h
un file di macro per stampare informazioni sugli errori
Makefile
il Makefile per compilare i due esempi CondVar*