Foro de elhacker.net

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

Código
  1. static pthread_mutex_t mutexZonaCritica = PTHREAD_MUTEX_INITIALIZER;

y luego dentro de las funciones, donde haya que sincronizar

Código
  1. pthread_mutex_lock(&mutexZonaCritica);
  2. // Codigo que solo haya de tocar un thread
  3. pthread_mutex_unlock(&mutexZonaCritica);

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