成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Java之AQS-創(chuàng)新互聯(lián)

AQS是什么

是用來(lái)實(shí)現(xiàn)鎖或者其它同步器組件的公共基礎(chǔ)部分的抽象實(shí)現(xiàn),整體就是一個(gè)抽象的FIFO隊(duì)列來(lái)完成資源獲取線程的安排工作,并通過(guò)一個(gè)int類變量表示持有鎖的狀態(tài)。
在這里插入圖片描述
在這里插入圖片描述

創(chuàng)新互聯(lián)公司成立以來(lái)不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點(diǎn),以客戶需求中心、市場(chǎng)為導(dǎo)向”的快速反應(yīng)體系。對(duì)公司的主營(yíng)項(xiàng)目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計(jì)、行業(yè) / 企業(yè)門戶設(shè)計(jì)推廣、行業(yè)門戶平臺(tái)運(yùn)營(yíng)、成都App制作、手機(jī)網(wǎng)站制作、微信網(wǎng)站制作、軟件開發(fā)、內(nèi)江機(jī)房主機(jī)托管等實(shí)行標(biāo)準(zhǔn)化操作,讓客戶可以直觀的預(yù)知到從創(chuàng)新互聯(lián)公司可以獲得的服務(wù)效果。使用到AQS的一些類

在這里插入圖片描述
ReentranLock:
在這里插入圖片描述
CountDownLatch
在這里插入圖片描述
ReentrantReadWriteLock:
在這里插入圖片描述
Semaphore
在這里插入圖片描述

搶到資源的線程直接使用處理業(yè)務(wù),搶不到資源的必然涉及一種排隊(duì)等候機(jī)制。搶占資源失敗的線程繼續(xù)去等待(類似銀行業(yè)務(wù)辦理窗口都滿了,暫時(shí)沒(méi)有受理窗口的顧客只能去候客區(qū)排隊(duì)等候),但等候線程仍然保留獲取鎖的可能且獲取鎖流程仍在繼續(xù)(候客區(qū)的顧客也在等著叫號(hào),輪到了再去受理窗口辦理業(yè)務(wù))
如果共享資源被占用,就需要一定的阻塞等待喚醒機(jī)制來(lái)保證鎖分配。這個(gè)機(jī)制主要用的是CLH隊(duì)列的變體實(shí)現(xiàn)的,將暫時(shí)獲取不到的鎖的線程加入到隊(duì)列中,這個(gè)隊(duì)列就是AQS同步隊(duì)列的抽象表現(xiàn)。它將要請(qǐng)求共享資源的線程及自身的等待狀態(tài)封裝成隊(duì)列的結(jié)點(diǎn)對(duì)象(Node),通過(guò)CAS、自旋以及LockSupport.park()的方式,維護(hù)state變量的狀態(tài),使并發(fā)達(dá)到同步的效果。

源碼說(shuō)明:

在這里插入圖片描述

AQS同步隊(duì)列的基本結(jié)構(gòu):

在這里插入圖片描述
在這里插入圖片描述

AQS內(nèi)部體系結(jié)構(gòu)

在這里插入圖片描述

AQS的內(nèi)部類Node中的屬性說(shuō)明

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

從ReentrantLock解讀AQS的源碼:

在這里插入圖片描述

第一步:
在這里插入圖片描述

第二步:創(chuàng)建的是公平鎖還是非公平鎖
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

第三:以非公平鎖ReentrantLock()為例作為突破走起,方法lock()
對(duì)比公平鎖和非公平鎖的tryAcquire()方法的實(shí)現(xiàn)代碼,其實(shí)差別就在于非公平鎖獲取鎖時(shí)公平鎖中少了一個(gè)判斷!hasQueuedPredecessors(),此方法中判斷了是否需要排隊(duì),導(dǎo)致公平鎖和非公平鎖的差異如下:
公平鎖:公平鎖講究先來(lái)先到,線程在獲取鎖時(shí),如果這個(gè)鎖的等待隊(duì)列中已經(jīng)有線程在等待,那么當(dāng)前線程就會(huì)進(jìn)入等待隊(duì)列中;
非公平鎖:不管是否有等待隊(duì)列,如果可以獲取鎖,則立刻占有鎖對(duì)象。也就是說(shuō)隊(duì)列的第一個(gè)排隊(duì)線程蘇醒后,不一定就是排頭的這個(gè)線程獲得鎖,它還是需要參加競(jìng)爭(zhēng)鎖(存在線程競(jìng)爭(zhēng)的情況下),后來(lái)的線程可能不講武德插隊(duì)奪鎖了。
在這里插入圖片描述
第四:線程使用lock方法來(lái)加鎖
以下截圖為非公平鎖的
在這里插入圖片描述
第五:acquire()方法
在這里插入圖片描述
第六:tryAcquire方法
在這里插入圖片描述
第六,如果線程使用nonfairTryAcquire方法搶占資源失敗,則使用addWaiter方法將線程加入等待隊(duì)列
在這里插入圖片描述
在這里插入圖片描述
第一次調(diào)用enq方法之后會(huì)形成以下的樣子:
在這里插入圖片描述
第七:acquireQueued()方法
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
第八:使用unlock方法來(lái)釋放鎖
在這里插入圖片描述
在這里插入圖片描述
隊(duì)列中喚醒的線程再去搶占鎖

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站標(biāo)題:Java之AQS-創(chuàng)新互聯(lián)
文章來(lái)源:http://jinyejixie.com/article46/ggseg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、微信小程序、網(wǎng)站策劃自適應(yīng)網(wǎng)站、品牌網(wǎng)站制作、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
大邑县| 陵川县| 天水市| 屯昌县| 靖江市| 建昌县| 丰顺县| 柯坪县| 克山县| 黄大仙区| 松阳县| 牟定县| 长武县| 大化| 日土县| 高雄县| 阿拉尔市| 宁河县| 日土县| 梁山县| 华亭县| 新干县| 巫山县| 高阳县| 独山县| 奉贤区| 巴青县| 鄂尔多斯市| 杭锦后旗| 桃园县| 西藏| 怀仁县| 灯塔市| 铁力市| 汝南县| 郓城县| 东宁县| 阿拉善盟| 固镇县| 婺源县| 黄浦区|