真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

多線程(九、AQS原理-簡(jiǎn)介)-創(chuàng)新互聯(lián)

AQS介紹

AQS是一個(gè)抽象類,提供了一套通用的控制同步狀態(tài),線程阻塞/喚醒,等待隊(duì)列管理的操作。

平時(shí)用的ReentrantLock,CountDownLatch,Semaphore(信號(hào)量)都是基于AQS提供API來實(shí)現(xiàn)的,他們的不同之處就是對(duì)于AQS內(nèi)部的同步狀態(tài)(synchronization state,int類型)操作不同,來實(shí)現(xiàn)的功能不同。

多線程(九、AQS原理-簡(jiǎn)介)

站在用戶的角度思考問題,與客戶深入溝通,找到越秀網(wǎng)站設(shè)計(jì)與越秀網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋越秀地區(qū)。

AQS基于同步狀態(tài)(synchronization state)主要解決了3個(gè)問題:

1、資源的訪問是共享的還是獨(dú)占的,比方說ReentrantLock是獨(dú)占的,ReentrantReadWriteLock.ReadLock是共享的

2、如何管理等待的線程,使用等待隊(duì)列

3、無法獲取資源,線程的超時(shí)和中斷機(jī)制

AQS的主要方法

如何使用同步狀態(tài)(synchronization state)才是繼承AQS的使用者考慮的問題。

AQS暴露給子類可以使用的方法如下:

1、tryAcquire 獨(dú)占資源獲取
2、tryRelease 獨(dú)占資源釋放
3、tryAcquireShared 共享資源獲取
4、tryReleaseShared 共享資源釋放
5、isHeldExclusively 是否占用獨(dú)占資源

AQS框架內(nèi)部通過一個(gè)內(nèi)部類ConditionObject,實(shí)現(xiàn)了Condition接口,以此來為子類提供條件等待的功能。

多線程(九、AQS原理-簡(jiǎn)介)

AQS的內(nèi)部私有方法:

關(guān)于同步狀態(tài)(synchronization state)AQS提供了3個(gè)方法

1、setState 設(shè)置同步狀態(tài)
2、getState 獲取同步狀態(tài)
3、CAS的compareAndSetState 基于unsafe的CAS設(shè)置同步狀態(tài)

等待隊(duì)列的方法

1、enq 入隊(duì)操作指定節(jié)點(diǎn)(后面介紹),可以進(jìn)行初始化
2、addWaiter 入隊(duì)操作節(jié)點(diǎn),節(jié)點(diǎn)是當(dāng)前線程
3、setHead 設(shè)置頭節(jié)點(diǎn)
4、unparkSuccessor 喚醒當(dāng)前節(jié)點(diǎn)的后繼節(jié)點(diǎn)
5、doReleaseShared 釋放共享節(jié)點(diǎn)
6、setHeadAndPropagate 設(shè)置頭節(jié)點(diǎn),并依次喚醒后繼節(jié)點(diǎn)

操作資源的方法

1、acquire public final 獨(dú)占地獲取資源
2、acquireInterruptibly public final 獨(dú)占地獲取資源(響應(yīng)中斷)
3、acquireInterruptibly public final 獨(dú)占地獲取資源(限時(shí)等待)
4、acquireShared public final 共享地獲取資源
5、acquireSharedInterruptibly public final 共享地獲取資源(響應(yīng)中斷)
6、tryAcquireSharedNanos public final 共享地獲取資源(限時(shí)等待)
7、等等等........

等待隊(duì)列

等待隊(duì)列是以節(jié)點(diǎn)(Node)為單位,節(jié)點(diǎn)里包裝了線程。

多線程(九、AQS原理-簡(jiǎn)介)

節(jié)點(diǎn)有2種類型,共享節(jié)點(diǎn)和獨(dú)占節(jié)點(diǎn),獨(dú)占和共享

多線程(九、AQS原理-簡(jiǎn)介)

節(jié)點(diǎn)狀態(tài)(waitStatus),共享節(jié)點(diǎn)和獨(dú)占節(jié)點(diǎn)的狀態(tài)使用值是不一樣的。

1、節(jié)點(diǎn)默認(rèn)狀態(tài)為0。
多線程(九、AQS原理-簡(jiǎn)介)
2、其中獨(dú)占結(jié)點(diǎn)使用其中的CANCELLED(1)、SIGNAL(-1)、CONDITION(-2),共享結(jié)點(diǎn)使用其中的CANCELLED(1)、SIGNAL(-1)、PROPAGATE(-3)。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


本文題目:多線程(九、AQS原理-簡(jiǎn)介)-創(chuàng)新互聯(lián)
本文路徑:http://weahome.cn/article/dpjihp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部