java主線程等待所有子執行緒執行完畢在執行

2021-08-07 08:53:32 字數 778 閱讀 9395

用sleep方法,讓主線程睡眠一段時間,當然這個睡眠時間是主觀的時間,是我們自己定的,這個方法不推薦,但是在這裡還是寫一下,畢竟是解決方法

下面結合這個問題我介紹一些並發包裡非常有用的併發工具類

3.等待多執行緒完成的countdownlatch

4.同步屏障cyclicbarrier

寫到這裡大家不免有些疑問,countdownlatch和cyclicbarrier有什麼區別呢,他們的區別:countdownlatch只能使用一次,而cyclicbarrier方法可以使用reset()方法重置,所以cyclicbarrier方法可以能處理更為複雜的業務場景。

我曾經在網上看到乙個關於countdownlatch和cyclicbarrier的形象比喻,就是在百公尺賽跑的比賽中若使用 countdownlatch的話衝過終點線乙個人就給評委傳送乙個人的成績,10個人比賽傳送10次,如果用cyclicbarrier,則只在最後乙個人衝過終點線的時候傳送所有人的資料,僅僅傳送一次,這就是區別。

Java主線程等待所有子執行緒執行完畢

需求 main方法中建立了執行緒,子執行緒沒有執行結束的時候主線程執行結束了,利用join又不能保證併發執行,目的是主線程等待其子執行緒執行完成之後退出 實現 利用hook實現jvm的等待執行 業務執行緒 class customerthread implements runnable catch ...

java主線程等待所有子執行緒執行完畢在執行

用sleep方法,讓主線程睡眠一段時間,當然這個睡眠時間是主觀的時間,是我們自己定的,這個方法不推薦,但是在這裡還是寫一下,畢竟是解決方法 下面結合這個問題我介紹一些並發包裡非常有用的併發工具類 3.等待多執行緒完成的countdownlatch 4.同步屏障cyclicbarrier 寫到這裡大家...

java執行緒池主線程等待子執行緒執行完成

今天討論乙個入門級的話題,不然沒東西更新對不起空間和網域名稱 工作總往往會遇到非同步去執行某段邏輯,然後先處理其他事情,處理完後再把那段邏輯的處理結果進行彙總的產景,這時候就需要使用執行緒了.乙個執行緒啟動之後,是非同步的去執行需要執行的內容的,不會影響主線程的流程,往往需要讓主線程指定後,等待子執...