【发布时间】:2018-10-11 02:09:51
【问题描述】:
我对高级 Java 和学习可重入锁相当陌生。我知道 ReentrantLock 有一个公平参数,可确保将锁分配给最饥饿的线程(与同步内在锁的情况不同。)
不过,可重入也意味着同一个线程可以通过增加holdCount一次又一次地重新获取锁。如果同一个线程永远获取锁,如何保证公平?
【问题讨论】:
-
公平意味着等待时间较长的线程在争用中被优先考虑。如果一个线程重新获得了一个锁,就没有争用了,因为它已经是所有者了,所以公平性是无关紧要的。
标签: java multithreading reentrantlock