ReentrantLock 的实现原理
生活随笔
收集整理的這篇文章主要介紹了
ReentrantLock 的实现原理
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我們知道鎖的基本原理是,基于將多線程并行任務(wù)通過(guò)某一種機(jī)制實(shí)現(xiàn)線程的串行執(zhí)行,從而達(dá)到線程安全性的目的。在synchronized中,我們分析了偏向鎖、輕量級(jí)鎖、樂(lè)觀鎖?;跇?lè)觀鎖以及自旋鎖來(lái)優(yōu)化了synchronized的加鎖開(kāi)銷,同時(shí)在重量級(jí)鎖階段,通過(guò)線程的阻塞以及喚醒來(lái)達(dá)到線程競(jìng)爭(zhēng)和同步的目的。
那么在ReentrantLock中,也一定會(huì)存在這樣的需要去解決的問(wèn)題。就是在多線程競(jìng)爭(zhēng)重入鎖時(shí),競(jìng)爭(zhēng)失敗的線程是如何實(shí)現(xiàn)阻塞以及被喚醒的呢?
?
總結(jié)
以上是生活随笔為你收集整理的ReentrantLock 的实现原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。