Я изучаю примитивы синхронизации. Насколько я знаю, хорошая реализация примитива синхронизации должна удовлетворять свойству ограниченного ожидания.
Согласно моей ссылке, это определение ограниченного ожидания. «Существует ограничение или ограничение числа раз, когда другим процессам разрешается входить в свои критические секции после того, как процесс сделал запрос на вход в свою критическую секцию и до того, как этот запрос будет удовлетворен.»
Я понимаю, что список официантов используется для обеспечения ограниченного ожидания блокировки. То есть каждая блокировка содержит очередь FIFO потоков официантов и освобождает поток из заголовка списка, когда вызывается lock.release ().
Однако, если используется планирование приоритетов, самый высокийприоритетный официант пробуждается для каждого вызова lock.release (). Я думаю, что в этом случае невозможно гарантировать ограниченное ожидание, потому что мы не можем гарантировать, что поток с низким приоритетом будет пробужден.
Правильно ли мое понимание? Если тогда, значит ли это, что свойство ожидания с ограничениями не является обязательным требованием?