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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

非常有用的并发控制-倒计时器CountDownLatc

發布時間:2023/12/3 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 非常有用的并发控制-倒计时器CountDownLatc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自?非常有用的并發控制-倒計時器CountDownLatch

CountDownLatch見名思義,即倒計時器,是多線程并發控制中非常有用的工具類,它可以控制線程等待,直到倒計時器歸0再繼續執行。


給你出個題,控制5個線程執行完后主線徎再往下執行,并統計5個線程的所耗時間。當然我們可以通過join的形式完成這道題,但如果我說統計100個1000個線程呢?難道要寫1000個join等待嗎?這顯然是不現實的。


廢話少說,我們來做一個例子看看上面的題怎么實現,并理解倒計時器。


首先通過new?CountDownLatch(5)約定了倒計時器的數量,在這里也是線程的數量,每個線程執行完后再對倒計時器-1。countDown()方法即是對倒計時器-1,這個方法需要放在finally中,一定要保證在每個線程中得到釋放,不然子線程如果因為某種原因報錯倒計時器永遠不會清0,則會導報主線程會一直等待。


await()方法即是主線程阻塞等待倒計器歸0后再繼續往下執行,當然await可以帶時間進去,等待多久時間后不管倒計時器有沒有歸0主線程繼續往下執行。


如上面的例子所示,我們輸出了倒計時器最后的數字0,表示倒計時器歸0了,也輸出了從開始到結束所花費的時間。從這個例子可以完全理解倒計時器的含義,這個工具類在實際開發經常有用到,也很好用。


CountDownLatch見名思義,即倒計時器,是多線程并發控制中非常有用的工具類,它可以控制線程等待,直到倒計時器歸0再繼續執行。


給你出個題,控制5個線程執行完后主線徎再往下執行,并統計5個線程的所耗時間。當然我們可以通過join的形式完成這道題,但如果我說統計100個1000個線程呢?難道要寫1000個join等待嗎?這顯然是不現實的。


廢話少說,我們來做一個例子看看上面的題怎么實現,并理解倒計時器。


首先通過new?CountDownLatch(5)約定了倒計時器的數量,在這里也是線程的數量,每個線程執行完后再對倒計時器-1。countDown()方法即是對倒計時器-1,這個方法需要放在finally中,一定要保證在每個線程中得到釋放,不然子線程如果因為某種原因報錯倒計時器永遠不會清0,則會導報主線程會一直等待。


await()方法即是主線程阻塞等待倒計器歸0后再繼續往下執行,當然await可以帶時間進去,等待多久時間后不管倒計時器有沒有歸0主線程繼續往下執行。


如上面的例子所示,我們輸出了倒計時器最后的數字0,表示倒計時器歸0了,也輸出了從開始到結束所花費的時間。從這個例子可以完全理解倒計時器的含義,這個工具類在實際開發經常有用到,也很好用。

總結

以上是生活随笔為你收集整理的非常有用的并发控制-倒计时器CountDownLatc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。