Нужна помощь в понимании ограниченного ожидания свойства блокировки приоритета - PullRequest
0 голосов
/ 18 октября 2019

Я изучаю примитивы синхронизации. Насколько я знаю, хорошая реализация примитива синхронизации должна удовлетворять свойству ограниченного ожидания.

Согласно моей ссылке, это определение ограниченного ожидания. «Существует ограничение или ограничение числа раз, когда другим процессам разрешается входить в свои критические секции после того, как процесс сделал запрос на вход в свою критическую секцию и до того, как этот запрос будет удовлетворен.»

Я понимаю, что список официантов используется для обеспечения ограниченного ожидания блокировки. То есть каждая блокировка содержит очередь FIFO потоков официантов и освобождает поток из заголовка списка, когда вызывается lock.release ().

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

Правильно ли мое понимание? Если тогда, значит ли это, что свойство ожидания с ограничениями не является обязательным требованием?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...