Tema: pthread
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/08/2007, 18:48
nuevo83
 
Fecha de Ingreso: agosto-2007
Mensajes: 12
Antigüedad: 17 años, 4 meses
Puntos: 0
pthread

Hola,

a ver si me podeis ayudar. Estoy trabajando con hilos en C y unix. Tengo una duda con la función pthread_mutex_init, ya que mis apuntes dice:
"Esta función crea una variable de exclusión mutua (mutex) y la inicializa al estado de bloqueado". Lo que no entiendo es porque lo inicializa al estado de bloqueado, ya que si en un programa pongo:

pthread_mutex_init(&m1,NULL);
pthread_mutex_lock(&m1);

No se queda bloqueado aqui pthread_mutex_lock, y debería ya que supuestamente el init pone el mutex m1, en estado bloqueado.
Mientras que si hago:
pthread_mutex_lock(&m1);
pthread_mutex_lock(&m1);

Se queda bloqueado en el segundo pthread_mutex_lock.

¿Alguien me puede explicar como va esto?

Muchas gracias

Saludos