Установить приоритет для процессов в мониторах синхронизации - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь использовать мониторы для проблемы синхронизации следующим образом:

- At most M many customers are expected to come.
- There are 4 equal barbers ready to service.
- Customers have a priority number based on their ages. The older person, the higher priority.
- Barbers service customers based on their priority. 
- If all barbers are busy, customers are made to wait.

Когда приходит клиент. Он / она вызывает функцию request_barber(int priority). Когда клиент закончил, он / она вызывает release_barber() function

  • Предположим, что есть функция sort(), которая принимает целочисленный массив и сортирует его.

My Вопрос в том, как я могу расставить приоритеты, чтобы клиент с более высоким приоритетом мог использовать ресурсы парикмахера? Я не могу найти ничего о приоритетах в мониторах. Итак, я застрял.

Насколько я могу думать, создайте int customers[M], который хранит возраст клиентов, чтобы мы могли его отсортировать. Однако я не знаю, как их распределить.

...