Я пытаюсь понять полезность свойства fairness в классе Semaphore
.
В частности, чтобы указать, что Javadoc упоминает, что:
Как правило, семафоры, используемые для управления доступом к ресурсам, должны быть инициализированы как справедливые, чтобы гарантировать, что ни один поток не будет истощен из доступа к ресурсу. При использовании семафоров для других видов управления синхронизацией пропускная способность несправедливого упорядочения часто перевешивает соображения справедливости.
Может ли кто-нибудь представить пример, где здесь может потребоваться баржи. Я не могу подумать о прошлом случае использования ресурсов. Кроме того, почему это по умолчанию является неправильным поведением?
Наконец, есть ли какие-либо последствия для использования поведения справедливости?