Pregunta

Si usted no sabe lo que es futex y linuxthreads-0.9, por favor, no contestan.

¿Puedo mezclar en programa de un mutex basado en futex con mutex de linuxthreads-0,8 o -0,9 (que se utilizó en todos glibc <= 2,2 y en todos uClibc)?

Necesito exclusión mutua entre procesos (pshared uno, PTHREAD_PROCESS_SHARED).

Así pues, si las discusiones se inician y gestionados por linuxthreads pthread_manager, va a ser confundido por el sueño y despertar a base de futex?

¿Puedo utilizar mutexes basado en futex tanto para entre procesos y la sincronización entre hilos?

¿Fue útil?

Solución

No veo por qué no podría.

Usted no será capaz de utilizar pthreads, obviamente. Es probable que se utiliza la biblioteca pthread con las viejas exclusiones mutuas y usted tendrá que tener el código futex de alguna otra biblioteca.

Es obvio que no se puede bloquear un mutex linuxthreads y desbloquearlo con una función futex, que no iba a funcionar.

Pero si un hilo se bloquea en el kernel de espera en un futex, no veo cómo es diferente de ser bloqueado en una operación de disco E / S, y se ocupa de que linuxthreads lo suficientemente bien.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top