Estoy trabajando en una implementación del problema "Fair Barbershop" en Ruby. Esto es para una tarea de clase, pero no estoy buscando folletos. He estado buscando como loco, pero parece que no puedo encontrar una implementación Ruby de semáforos que reflejen los encontrados en C.Ruby Semaphores?
Sé que es Mutex, y eso es genial. La implementación única hace exactamente lo que ese tipo de semáforo debería hacer.
Luego están las variables de condición. Pensé que esto iba a funcionar muy bien, pero mirando esto, requieren un Mutex para cada llamada de espera, que me parece que no puedo poner valores numéricos al semáforo (como en, tengo siete barberías, 3 barberos, etc.).
Creo que necesito un Semáforo de conteo, pero creo que es un poco extraño que Ruby no contenga (por lo que puedo encontrar) en su núcleo. ¿Puede alguien ayudarme apuntar en la dirección correcta?
¿Qué hay de esto: http: // www .imasy.or.jp/~ fukumoto/ruby / semáforo.rb? – fresskoma
Con algunos ajustes esto parece ser exactamente lo que estaba buscando. El material Thread.critical aparentemente no funciona en 1.9, así que lo reemplacé con un bloque Thread.exclusive {}.Todavía no entiendo por qué esto no forma parte de las bibliotecas centrales de Ruby. –
Parece que el servidor de imasy.or.jp se ha ido o no funciona ... ¿Alguien tiene un enlace actualizado? –