公平锁与非公平锁
2018-02-14 16:28
281 查看
转自:https://www.dutycode.com/suo_gongping_feigongping.html
公平锁是指,在一段时间内,先对锁发起获取请求的一定被先满足。或者可以理
解成期望获取锁的线程是一个先进先出的队列,等待时间最久的线程最优先获取到
锁。而非公平锁是指,获取锁的顺序并不是有序的,可以随时优先获取。
一般情况下,公平的锁机制比非公平的效率低,因为公平的锁机制没有考虑到操
作系统对线程的调度,会造成线程的上下文切换次数增加。(还有一种比较专业的说
法:因为公平的获取锁没有考虑到操作系统对线程的调度因素,这样造成JVM对于等
待中的线程调度次序和操作系统对线程的调度之间的不匹配)。
公平锁是指,在一段时间内,先对锁发起获取请求的一定被先满足。或者可以理
解成期望获取锁的线程是一个先进先出的队列,等待时间最久的线程最优先获取到
锁。而非公平锁是指,获取锁的顺序并不是有序的,可以随时优先获取。
一般情况下,公平的锁机制比非公平的效率低,因为公平的锁机制没有考虑到操
作系统对线程的调度,会造成线程的上下文切换次数增加。(还有一种比较专业的说
法:因为公平的获取锁没有考虑到操作系统对线程的调度因素,这样造成JVM对于等
待中的线程调度次序和操作系统对线程的调度之间的不匹配)。
相关文章推荐
- java多线程的公平锁和非公平锁
- ReentrantLock的公平锁与非公平锁浅析
- [多线程_reentrantlock公平锁与非公平锁]
- 公平锁与非公平锁
- 锁的公平与非公平
- Java多线程公平锁与非公平锁
- 公平锁与非公平锁
- 公平锁和非公平锁
- JAVA多线程-Lock的使用(二)-公平锁与非公平锁
- 公平锁和非公平锁
- java 线程公平锁与非公平锁详解及实例代码
- AbstractQueuedSynchronizer源码分析一(独占锁部分,公平非公平)
- 公平锁与非公平锁
- 公平锁和非公平锁
- Reetrantlock的公平非公平原理解析
- Java多线程Lock对象之公平锁和非公平锁
- 公平锁与非公平锁
- Java之ReentrantLock公平锁和非公平锁
- java之ReentrantLock公平锁和非公平锁
- 并发编程--公平锁和非公平锁