Рубиновые семафоры?

Я работаю над реализацией проблемы "Fair Barbershop" на Ruby. Это для задания в классе, но я не ищу рекламных материалов. Я искал как сумасшедший, но, похоже, мне не удалось найти Ruby-реализацию семафоров, которая отражает те, что находятся в C.

Я знаю, что есть Mutex, и это здорово. Единая реализация делает именно то, что должен делать этот семафор.

Затем есть переменные условия. Я думал, что это отлично сработает, но глядя на них, им требуется мьютекс для каждого вызова ожидания, что, на мой взгляд, выглядит так, будто я не могу поместить числовые значения в семафор (например, у меня есть семь парикмахерских, 3 парикмахера и т. д.).

Я думаю, мне нужен семафор подсчета , но мне кажется немного странным, что Ruby (насколько я могу судить) не содержит такого класса в своем ядре. Может ли кто-нибудь помочь мне указать правильное направление?

15
задан Josh Kovach 29 March 2011 в 20:54
поделиться