欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java并發(fā)之CountDownLatch-創(chuàng)新互聯(lián)

CountDownLatch

CDL 本質(zhì)上是類似于信號(hào)量,而Semaphore 是每次發(fā)射一個(gè)信號(hào) 變回執(zhí)行一個(gè)線程(取決于公平非公平)

創(chuàng)新互聯(lián)公司提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì),成都品牌網(wǎng)站建設(shè)廣告投放平臺(tái)等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,10余年的網(wǎng)站開(kāi)發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破上千家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.

而CDL 是將所有的信號(hào)消耗完成 才開(kāi)始;

官方案例Driver實(shí)現(xiàn)了多線程的同步 執(zhí)行 以及對(duì)主線程的通知!

Cdl 內(nèi)部Sync 依然繼承制AQS,但是他沒(méi)有公平和非公平而言 因?yàn)樗哪康氖且黄饒?zhí)行完成!

await

實(shí)際調(diào)用的是Sync中

protected int tryAcquireShared(int acquires) {return (getState() == 0) ? 1 : -1;
        }

當(dāng)state==0時(shí) 那么和正常線程沒(méi)有任何區(qū)別 也不會(huì)加入到隊(duì)列 -1 會(huì)加入到隊(duì)列

而Sync 初始化時(shí)就會(huì)給state設(shè)置狀態(tài)量 那么 所以開(kāi)始調(diào)用await 會(huì)將線程加入到隊(duì)列并且park

在SYnc中有釋放方法:

protected boolean tryReleaseShared(int releases) {// Decrement count; signal when transition to zero
            for (;;) {int c = getState();
                if (c == 0)
                    return false;
                int nextc = c-1;
                if (compareAndSetState(c, nextc))
                    return nextc == 0;
            }
        }

每次釋放量為1 并且知道釋放0時(shí)表示成功

countDown

每次釋放數(shù)量為1 ,釋放一次 并不會(huì)讓隊(duì)列中的線程unpark 因?yàn)楸仨毜却械亩坚尫?也就是state=0時(shí) 才會(huì)開(kāi)始執(zhí)行

總結(jié)

CDL 的作用是是控制一組線程的并發(fā) 以及對(duì)多線程完成對(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)查看詳情吧

本文標(biāo)題:java并發(fā)之CountDownLatch-創(chuàng)新互聯(lián)
文章路徑:http://www.chinadenli.net/article46/djdohg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)移動(dòng)網(wǎng)站建設(shè)動(dòng)態(tài)網(wǎng)站網(wǎng)站排名網(wǎng)站維護(hù)做網(wǎng)站

廣告

聲明:本網(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)

成都網(wǎng)站建設(shè)公司