中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AbstractQueuedSynchronizer是什么

發布時間:2021-06-22 14:57:43 來源:億速云 閱讀:132 作者:chen 欄目:大數據

本篇內容介紹了“AbstractQueuedSynchronizer是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

AbstractQueuedSynchronizer抽象類

子類中獨自實現以下方法

* <li> {@link #tryAcquire}
* <li> {@link #tryRelease}
* <li> {@link #tryAcquireShared}
* <li> {@link #tryReleaseShared}
* <li> {@link #isHeldExclusively}

state狀態修改使用以下方法

{@link #getState},
 {@link
* #setState} 
 {@link #compareAndSetState}:

Node{

// 表示節點狀態,CANCELLED,值為1 ,表示當前線程被取消 SIGNAL 值為-1,

//表示當前節點的后繼節點包含的線程需要運行,也就是unpark

// condition 值為-2 ,表示當前節點在等condition,也就是condition隊列中

// propagate,值為-3 ,表示當前場景下后續的acquireShared能夠得以執行;

//值為0,表示當前節點在sync隊列中,等待著獲取鎖

int waitStatus;

// 前驅節點,如取消當前節點,就需要完成連接

Node prev;

//后繼節點

Node next;

//存儲condition隊列中的后繼節點

Node nextWaiter;

//入隊列當前線程

Thread thread;

}

//獲取一個排他鎖

while(獲取鎖){

if(獲取到){

退出while循環

} else {

if(當前線程沒有入隊列){

那么入隊列

}

阻塞當前線程

}

}

}

}

// 釋放一個排他鎖

if(釋放成功){

刪除頭節點

激活原頭結點的后繼節點

}

“AbstractQueuedSynchronizer是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

登封市| 平阳县| 宣威市| 四平市| 崇州市| 广东省| 南城县| 原平市| 台东县| 海南省| 克什克腾旗| 台中市| 抚松县| 博白县| 汽车| 固镇县| 南华县| 长岭县| 图片| 龙江县| 新建县| 会泽县| 庄浪县| 湟源县| 仁怀市| 怀化市| 阿尔山市| 原平市| 苍溪县| 涟源市| 大安市| 宁晋县| 邢台县| 弥渡县| 阜宁县| 大埔区| 宣恩县| 交口县| 夏河县| 徐水县| 蓝山县|