UC3M

Grado en Ing. Telemática/Sist. Audiovisuales/Sist. de Comunicaciones

Arquitectura de Sistemas

Septiembre 2017 - Enero 2018

11.3.3. Cerrojos: Inicialización

Veamos cómo inicializar un cerrojo. Estos pueden ser inicializados de dos formas. La primera es usar la función pthread_mutex_init y la segunda mediante un macro especial: PTHREAD_MUTEX_INITIALIZER. La función de inicialización recibe un puntero a pthread_mutex_t y la configuración del cerrojo (pthread_mutexattr_t). La función de inicialización devuelve 0 si ha sido posible crear el cerrojo.

#include <pthread.h>
  //returns 0 in sucesses, other values diferent from 0 mean mistake
int pthread_mutex_init(pthread_mutex_t *restrict mutex,const pthread_mutexattr_t *restrict attr);
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;