公平鎖(Fair)
加鎖前檢查是否有排隊等待的線程,優先排隊等待的線程,先來先得
非公平鎖(Nonfair)
加鎖時不考慮排隊等待問題,直接嘗試獲取鎖,獲取不到自動到隊尾等待
1. 非公平鎖性能比公平鎖高 5~10 倍,因為公平鎖需要在多核的情況下維護一個隊列
2. Java 中的 synchronized 是非公平鎖,ReentrantLock 默認的 lock()方法採用的是非公平鎖。
2020-11-01 11:48:19 佚名
公平鎖(Fair)
加鎖前檢查是否有排隊等待的線程,優先排隊等待的線程,先來先得
非公平鎖(Nonfair)
加鎖時不考慮排隊等待問題,直接嘗試獲取鎖,獲取不到自動到隊尾等待
1. 非公平鎖性能比公平鎖高 5~10 倍,因為公平鎖需要在多核的情況下維護一個隊列
2. Java 中的 synchronized 是非公平鎖,ReentrantLock 默認的 lock()方法採用的是非公平鎖。