-
(1) 在ReentrantLock的构造函数中可以指定创建公平性的锁还是非公平性的锁
/** * Creates an instance of {@code ReentrantLock} with the * given fairness policy. * * @param fair {@code true} if this lock should use a fair ordering policy */ public ReentrantLock(boolean fair) { sync = fair ? new FairSync() : new NonfairSync(); }(2)
公平锁, 线程将按照它们请求锁的顺序获得锁;
非公平锁, 如果一个线程请求它, 并且在发出请求的同时恰好锁的状态变为可用, 则这个线程__“插队”__获得这个锁
(3) 非公平锁的性能一般好于公平锁
其中一个原因是__恢复一个线程到这个线程真正开始运行中间存在时间差__, 非公平锁可以利用这段时间就把锁获得到
chapter13_显式锁_3_公平性
最新推荐文章于 2025-04-30 18:36:31 发布
博客介绍了ReentrantLock构造函数可指定创建公平或非公平锁。公平锁按请求顺序获取,非公平锁可能“插队”。非公平锁性能通常优于公平锁,因其可利用线程恢复到运行的时间差获取锁。
2280

被折叠的 条评论
为什么被折叠?



