Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: angelicavf en 22 Enero 2016, 22:59 PM

Título: Sincronizacion de hilos en C (MUTEX)
Publicado por: angelicavf en 22 Enero 2016, 22:59 PM

Hola chicos, tengo un pequeño problema necesito sincronizar 5 hilos en C utilizando mutex!
al menos como seria para sincronizar dos hilos!
Espero puedan ayudarme!

::)
Título: Re: Sincronizacion de hilos en C (MUTEX)
Publicado por: Eternal Idol en 22 Enero 2016, 23:19 PM
Todo el codigo que acceda al recurso compartido a proteger debe primero adquirir el mutex, trabajar con el recurso y liberar el mutex.
Título: Re: Sincronizacion de hilos en C (MUTEX)
Publicado por: sodark en 22 Enero 2016, 23:51 PM
Pues sencillo, fuera de cualquier funcion, defines el mutex y lo inicializas

static pthread_mutex_t mutexZonaCritica = PTHREAD_MUTEX_INITIALIZER;

y luego dentro de las funciones, donde haya que sincronizar

pthread_mutex_lock(&mutexZonaCritica);
// Codigo que solo haya de tocar un thread
pthread_mutex_unlock(&mutexZonaCritica);


Cuando vayas a compilar, deberas añadir la libreria
-lpthread