synchronized相比reentrantLock性能不好原因分析:
synchronized為重量級鎖時:
猜測1 syn鎖的獲取和釋放需要操作系統(tǒng)的互斥量(mutex)實現(xiàn)及塘,均需要用戶態(tài)和內(nèi)核態(tài)的切換;lock是CAS獲取和釋放的鎖螺句,無需切換
猜測2 syn和lock底層都有等待的線程集合煤痕,都是阻塞梧宫。syn的阻塞是系統(tǒng)來處理的,需用戶態(tài)和內(nèi)核態(tài)的準換摆碉;lock的阻塞是執(zhí)行jdk中的代碼來阻塞的塘匣,應該是一直是在用戶態(tài)的
同意?
synchronized和lock自旋鎖 線程被阻塞后便進入內(nèi)核Linux調(diào)度狀態(tài)巷帝,這個會導致系統(tǒng)在用戶態(tài)和內(nèi)核態(tài)來回切換忌卤,嚴重影響鎖的性能 緩解上述問題的辦法便是自旋,其原理是:當發(fā)生爭用時楞泼,若Owner線...