Насколько справедлива ReentrantLock, если один и тот же поток продолжает получать блокировку снова и снова? - PullRequest
0 голосов
/ 01 мая 2018

Я довольно новичок в Advanced Java и изучаю реентрантные блокировки. Я понимаю, что ReentrantLock имеет параметр справедливости, который гарантирует, что блокировка предоставляется большинству голодающих потоков (в отличие от случая с синхронизированными внутренними блокировками.)

Однако, Reentrant также означает, что один и тот же поток может снова и снова повторно захватывать блокировку, увеличивая holdCount. Если один и тот же поток продолжает получать блокировку навсегда, как это гарантирует справедливость?

1 Ответ

0 голосов
/ 01 мая 2018

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

...