Le routine messe a disposizione dallo standard Posix sono principalmente due :
#include<pthread.h>
int pthread_mutex_lock (pthread_mutex_t *mutex);
|
Argomenti in ingresso :
Valore restituito :
Queste due funzioni servono rispettivamente per acquisire e rilasciare un semaforo di mutua esclusione. La funzione pthread_mutex_lock ritorna al thread chiamante solamente ad acquisizione avvenuta o allo scattare di una condizione di errore. Di questa funzione esiste anche una versione non bloccante che ritorna immediatamente e che ha la seguente sintassi :
#include<pthread.h>
int pthread_mutex_trylock (pthread_mutex_t *mutex);
|
Argomenti in ingresso :
Valore restituito :
È importante sottolineare che le routine e il tipo di dato appena visti servono solamente per casi di mutua esclusione. Per casi più complessi di sincronizzazione su una certa condizione esistono dei meccanismi più raffinati che verranno esaminati nel seguito.