知識總結(jié)-創(chuàng)新互聯(lián)

專業(yè)從事成都網(wǎng)站設計、做網(wǎng)站,高端網(wǎng)站制作設計,成都微信小程序,網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團隊竭力真誠服務,采用H5網(wǎng)站設計+CSS3前端渲染技術(shù),響應式網(wǎng)站開發(fā),讓網(wǎng)站在手機、平板、PC、微信下都能呈現(xiàn)。建站過程建立專項小組,與您實時在線互動,隨時提供解決方案,暢聊想法和感受。hasQueuedPredecessors()解析

判斷隊列是否有等待資源的線程知識總結(jié)
public final boolean hasQueuedPredecessors() {
    //讀取尾節(jié)點
    Node t = tail; 
   //讀取頭節(jié)點
    Node h = head;
    //s是首節(jié)點h的后繼節(jié)點
    Node s;
    return h != t &&
        ((s = h.next) == null || s.thread != Thread.currentThread());
}
  1. h != t 什么時候是false 就是首尾節(jié)點相同時
    (1) 首尾節(jié)點都是空的 說明隊列是空的,無須等待,返回true
    (2) 首尾節(jié)點都不是空的 而且指向同一個內(nèi)容,說明隊列內(nèi)只有一個節(jié)點,無須等待,返回false
  2. h != t 什么時候是true 就是首尾節(jié)點不相同時,說明隊列中至少有兩個不同節(jié)點
  3. h != t 返回true,(s = h.next) == null返回true
    因為在當前線程還在做嘗試獲取同步狀態(tài)的操作時,已經(jīng)有另一個線程準備入隊了,當前線程慢人一步,自然就得去排隊。
  4. h != t 返回true,(s = h.next) == null返回false,s.thread != Thread.currentThread()返回true。
    (s = h.next) == null返回false表示首節(jié)點是有后繼節(jié)點的。
    s.thread != Thread.currentThread()返回true表示后繼節(jié)點的相關(guān)線程不是當前線程,所以首節(jié)點雖然有后繼節(jié)點,但是后繼節(jié)點相關(guān)的線程卻不是當前線程,那當前線程自然得老老實實的去排隊。

文章題目:知識總結(jié)-創(chuàng)新互聯(lián)
當前地址:http://bm7419.com/article4/ijiie.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、全網(wǎng)營銷推廣、網(wǎng)頁設計公司、營銷型網(wǎng)站建設、企業(yè)建站、搜索引擎優(yōu)化

廣告

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

外貿(mào)網(wǎng)站建設