概念:

公平锁:公平锁指的是,争抢锁的各个资源,需要排队获取锁

非公平锁:非公平锁指的是,争抢锁的各个资源,可以取抢夺锁

synchronized是非公平锁
ReentrantLock有两个构造方法,一个是空参构造器,默认是非公平锁,第二个构造方法是有个boolean参数,true就表示是公平锁,false就表示非公平锁



JAVA锁之公平锁和非公平锁_gradle




JAVA锁之公平锁和非公平锁_gradle_02


优缺点:

非公平锁的并发效率比公平锁高
非公平锁容易造成优先级反转,或者饥饿现象