av人摸人人人澡人人超清,日本黄网站色视频免费,香焦伊人,三级av毛片在线播放,自慰在线观看18p,超碰欧美亚洲日韩,午夜激情涩涩网

AQS鎖的原理

2023-09-26 18:12:48 作者:蔡金盛

aqs原理:是一個用于構(gòu)建鎖和同步器的框架,它能降低構(gòu)建鎖和同步器的工作量,還可以避免處理多個位置上發(fā)生的競爭問題,在基于AQS構(gòu)建的同步器中,只可能在一個時刻發(fā)生阻塞,從而降低上下文切換的開銷,并提高吞吐量。

通過status標識鎖 ReentrantLock使用排他鎖。AQS的status0表示加鎖,thread是當前獲取鎖的線程。該鎖時可重入鎖,所以status0。CountDownLatch 使用共享鎖。

它繼承了AQS框架的內(nèi)部類,實現(xiàn)了插銷式同步器的具體功能。在Sync類內(nèi)部,有兩個重要的內(nèi)部類NonfairSync和FairSync,它們分別實現(xiàn)了非公平鎖和公平鎖的具體實現(xiàn)。

首先嘗試獲取資源,如果當前狀態(tài)為0,表示沒有線程占有鎖,設(shè)置該線程為獨占模式,使用CAS設(shè)置狀態(tài),否則如果當前線程和獨占線程是一個線程,修改狀態(tài)值,否則返回false。

當?shù)谝淮握{(diào)用await()對線程進行阻塞時,當前線程會首先調(diào)用park()進入阻塞,并且加入到條件等待隊列中。當某個線程調(diào)用此Condition對象的signal時,等待隊列中的firstWaiter(第一個阻塞對象)會被加入到AQS鎖的CLH隊列中。

>>點擊查看今日優(yōu)惠<<

    本文導航
    熱門文章
    TOP推薦
    相關(guān)閱讀
    點擊加載更多