Hace un tiempo estaba pensando en cómo implementar varias primitivas de sincronización en términos de la otra. Por ejemplo, en pthreads obtienes mutexes y variables de condición, y a partir de estos puedes construir semáforos.¿Cómo se puede implementar una variable de condición usando semáforos?
En la API de Windows (o al menos, versiones anteriores de la API de Windows) hay mutexes y semáforos, pero no variables de condición. Creo que debería ser posible construir variables de condición a partir de mutexes y semáforos, pero por mi vida no puedo pensar en una forma de hacerlo.
¿Alguien sabe de una buena construcción para hacer esto?
+1 ¡Gracias por un gran enlace! – templatetypedef