Discusión:Problema del barbero durmiente

Contenido de la página no disponible en otros idiomas.
De Wikipedia, la enciclopedia libre

Me parece que el semaforo Barbero tiene q ser inicializado en 1 para q funcione el codigo

Este código no es eficiente. Supongamos que hay 20 clientes y 5 sillas. Entran 6 clientes (uno está siendo pelado) y los otros 14 se quedan esperando en el mutex sillasAccesibles. Para que el barbero pueda pelar debe antes coger el mutex sillasAccesibles. Si entran las 20 hebras a la vez, hay 14 que se bloquean en ese mutex. El barbero debe esperar a que esas 14 ejecuten su código.

Habría que usar un código usando prioridades, de forma que el barbero tuviese mayor prioridad a la hora de usar el mutex sillasAccesibles que los clientes.