Implementar solo con semáforo puede ser complicado en este caso. Use una combinación de variable de condición y un semáforo para implementar.
Pseudocódigo:
1> PQ y R son valores posibles para la variable de condición.
2> Inicie los tres hilos / procesos.
3> Cada proceso espera que el valor de la variable de condición sea igual a su nombre (por ejemplo, el hilo P esperará hasta que la variable de condición tenga el valor P)
4> Cada condición de hilo señala el siguiente proceso en la tubería, por lo que se ejecuta. Esta tubería puede ser predeterminada.
Lo mismo se puede implementar de una manera fea usando semáforos. Deje que cada proceso tenga su propio semáforo. Todos esperan en su propio semáforo y la señalización de la condición se realiza mediante un proceso anterior en la secuencia que desbloquea el proceso que se ejecutará a continuación. Esto será feo y propenso a errores.
- Cómo encontrar el máximo global y los valores que dan el máximo global para una función de 2 variables usando un algoritmo genético
- ¿Qué cosas, como civilización, hemos estado haciendo mal todo este tiempo?
- ¿Qué sucede durante el arranque?
- ¿Por qué es importante encontrar tantos números primos como sea posible o tantos dígitos de pi como sea posible?
- ¿La comprensión de nuestro universo está limitada por la potencia informática?