日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Join的加强版CountDownLatch

發(fā)布時(shí)間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Join的加强版CountDownLatch 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

CountDownLatch允許一個(gè)或多個(gè)線程等待其他線程完成操作。

假如有這樣一個(gè)需求:我們需要解析一個(gè)Excel里多個(gè)sheet的數(shù)據(jù),此時(shí)可以考慮使用多線程,每個(gè)線程解析一個(gè)sheet里的數(shù)據(jù),等到所有的sheet都解析完之后,程序需要提示解析完成。在這個(gè)需求中,要實(shí)現(xiàn)主線程等待所有線程完成sheet的解析操作,最簡單的做法是使用join()方法。

public class JoinCountDownLatchTest {public static void main(String[] args) throws InterruptedException {Thread parser1 = new Thread(new Runnable() {@Overridepublic void run() {System.out.println("parser1 finish");}});Thread parser2 = new Thread(new Runnable() {@Overridepublic void run() {System.out.println("parser2 finish");}});parser1.start();parser2.start();parser1.join();parser2.join();System.out.println("all parser finish");} } result: parser1 finish parser2 finish all parser finish 主線程會等待線程1和2運(yùn)行完成后再運(yùn)行。

在JDK 1.5之后的并發(fā)包中提供的CountDownLatch也可以實(shí)現(xiàn)join的功能,并且比join的功能更多

CountDownLatch的構(gòu)造函數(shù)接收一個(gè)int類型的參數(shù)作為計(jì)數(shù)器,如果你想等待N個(gè)點(diǎn)完成,這里就傳入N。

當(dāng)我們調(diào)用CountDownLatch的countDown方法時(shí),N就會減1,CountDownLatch的await方法
會阻塞當(dāng)前線程,直到N變成零。由于countDown方法可以用在任何地方,所以這里說的N個(gè)點(diǎn),可以是N個(gè)線程,也可以是1個(gè)線程里的N個(gè)執(zhí)行步驟。用在多個(gè)線程時(shí),只需要把這個(gè)CountDownLatch的引用傳遞到線程里即可。如果有某個(gè)線程處理得比較慢,我們不可能讓主線程一直等待,所以可以使用另外一個(gè)帶指定時(shí)間的await方法——await(long time,TimeUnit unit),這個(gè)方法等待特定時(shí)間后,就會不再阻塞當(dāng)前線程。join也有類似的方法。

public class Test {static CountDownLatch c = new CountDownLatch(2);public static void main(String[] args) throws InterruptedException {new Thread(() -> {System.out.println("線程1運(yùn)行任務(wù)1");c.countDown();System.out.println("線程1運(yùn)行任務(wù)2");c.countDown();}).start();c.await();System.out.println("主線程匯聚任務(wù)");} } result: 線程1運(yùn)行任務(wù)1 線程1運(yùn)行任務(wù)2 主線程匯聚任務(wù)

注意的是:計(jì)數(shù)器必須大于等于0,只是等于0時(shí)候,計(jì)數(shù)器就是零,調(diào)用await方法時(shí)不會
阻塞當(dāng)前線程。CountDownLatch不可能重新初始化或者修改CountDownLatch對象的內(nèi)部計(jì)數(shù)
器的值。

轉(zhuǎn)載于:https://www.cnblogs.com/keeya/p/9320981.html

總結(jié)

以上是生活随笔為你收集整理的Join的加强版CountDownLatch的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 糖心logo在线观看 | 三级男人添奶爽爽爽视频 | sm调教羞耻姿势图片 | 亚洲精品a级 | 韩国三级中文字幕 | 毛片网在线 | 国产精品久久国产精麻豆96堂 | 亚洲免费视频一区二区 | 精品嫩模一区二区三区 | 免费在线黄色片 | 国产无遮挡又黄又爽又色视频 | 黄色avav| 西西444www无码大胆 | xxx国产在线观看 | 91传媒入口 | 日韩电影在线观看一区 | 夜夜骚网站| 亚洲视频欧美视频 | 亚洲电影影音先锋 | 天天操天天草 | 黄色片特级 | 2018天天操| 欧洲女女同videos | 精品裸体舞一区二区三区 | 毛片看| 国产午夜精品一区二区理论影院 | 欲色影音 | 五月综合激情 | 高清国产一区二区三区四区五区 | 337p嫩模大胆色肉噜噜噜 | 午夜国产在线视频 | 夜夜骑狠狠干 | 黄色一区二区三区四区 | 女性裸体不遮胸图片 | 黄色av网站免费在线观看 | 少妇一区二区三区四区 | 成人av网站在线 | 亚洲成人高清在线观看 | 可以免费看的毛片 | 天堂网2014 | 8x8ⅹ国产精品一区二区二区 | 黄色小视频在线 | 亚洲av无码一区二区三区网址 | 日韩精品一区二区三区不卡在线 | 九九热视频在线免费观看 | 浪漫樱花动漫在线观看免费 | 色偷偷免费费视频在线 | 天天色天天综合 | 亚洲成人精品一区 | 日日骚av | 国产日韩欧美综合在线 | 亚洲午夜剧场 | 亚洲欧美中文日韩在线v日本 | 亚洲色图国产视频 | 国产一区二区三区色淫影院 | 国产色婷婷一区二区三区竹菊影视 | 神马久久午夜 | 欧美一级片免费在线观看 | 激情综合网激情 | 操她视频在线观看 | 精品久久一区二区三区 | 国产毛片久久久久久久 | 日本在线视频一区 | 久久精品久久久精品美女 | 欧美v日韩 | 亚洲最新av网站 | 在线观看国产视频 | 视频黄页在线观看 | 免费看国产片在线观看 | 30一40一50女人毛片 | 亚洲精品国产精品乱码不99热 | 在线免费黄网 | 香蕉久热 | 手机看片一区二区三区 | 国语对白做受按摩的注意事项 | 日韩欧美一级 | 超碰.com | 欧美日日日 | 精品一区二区欧美 | 国产xxx| 秋霞福利| 成人va在线观看 | 国产黄色大片在线观看 | 日本天堂网 | 中文字幕亚洲欧美日韩在线不卡 | 少妇性l交大片 | 亚洲成人精品久久 | avtt一区| 国产网站久久 | 成人欧美视频在线观看 | 国产人妻黑人一区二区三区 | 成人激情免费视频 | 精品美女一区二区三区 | 欧美男女性生活视频 | 嫩草影院av| 久草网站 | 欧美性猛交一区二区三区精品 | 美女久久 | 久久网一区二区 |