Java JUC工具類--CountDownLatch

  • CountDownLatch:用于監聽某些初始化操作,并且線程進行阻塞,等初始化執行完畢后,通知主線程繼續工作執行
package com.example.core.juc;import java.util.concurrent.CountDownLatch;public class UseCountDownLatch {public static void main(String[] args) {CountDownLatch countDownLatch = new CountDownLatch(2);//需要兩次喚醒Thread t1 = new Thread(new Runnable() {@Overridepublic void run() {System.out.println("進入t1線程");try{Thread.sleep(3000);//做一些初始化準備}catch(InterruptedException e){e.printStackTrace();}System.out.println("t1線程初始化完畢,通知t3線程繼續操作");countDownLatch.countDown();//通知t3}},"t1");Thread t2 = new Thread(new Runnable() {@Overridepublic void run() {System.out.println("進入t2線程");try{Thread.sleep(3000);//做一些初始化準備}catch(InterruptedException e){e.printStackTrace();}System.out.println("t2線程初始化完畢,通知t3線程繼續操作");countDownLatch.countDown();//通知t3}},"t2");Thread t3 = new Thread(new Runnable() {@Overridepublic void run() {System.out.println("進入t3線程,進入等待階段");try{countDownLatch.await();//等待階段,需要喚醒}catch(InterruptedException e){e.printStackTrace();}System.out.println("t3線程 進行后續的操作");}},"t3");t1.start();t2.start();t3.start();}
}
/*
進入t1線程
進入t2線程
進入t3線程,進入等待階段
t1線程初始化完畢,通知t3線程繼續操作
t2線程初始化完畢,通知t3線程繼續操作
t3線程 進行后續的操作
*/

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447304.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447304.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447304.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java JUC工具類--CyclicBarrier

CyclicBarrier:柵欄的概念,多線程的進行阻塞,等待某一個臨界值條件滿足后,同時執行 類比:每個線程代表一個跑步運動員,當運動員都準備好后,才一起出發,只要有一個人沒有準備好&#…

人生感悟:人生像吃自助餐

問我怎樣管理欲望,過簡單生活?我的答案是:你要先學會品味人生,品味的同義詞,就叫做體悟內涵。 人為什么有這么多欲望?其實,我們每個人在一個社會,就像進入一個自助餐(buffet)店,食物非常的多…

Java JUC工具類--Future

Future模式,也是非常經典的設計模式,這種模式主要就利用空間換時間的概念,也就是說異步執行(需要開啟一個新的線程)在互聯網高并發的應用服務中,我們隨處可見這種理念和代碼,主要就是使用了這種…

職場與生活 八條原則 讓你不再浪費時間和提高效率

Heidi Roizen女士一度是硅谷人人爭相學習的典范。她曾創辦自己的公司并管理了14年之久。后來,她擔任蘋果公司主管開發者關系的高級副總裁。現在,她是DFJ Venture的一位風投家,她還在斯坦福主講一門名叫??“企業家精神??”的課程。她幾乎認…

Java JUC工具類--Exchanger

Exchanger Exchanger用于進行線程間的數據交換,它提供一個同步點,在這個同步點,兩個線程可以交換彼此的數據兩個線程通過exchange方法交換數據,如果一個線程先執行exchange方法,它會一直等待第二個線程也執行exchang…

爸爸的素質決定孩子飛多高,爸爸們請反復看!!!

好父親等于200個好老師,當爹的都好好看看,以后孩子不給力別怨別人! 孩子是父親的影子,希望每個閱讀完全文的父親,都能成為一個好父親。 NO.1爸爸是孩子最好的老師 爸爸的素質有多高,孩子就能飛多高 用理性的父愛幫…

Java JUC工具類--ForkJoin

ForkJoin Fork/Join框架是JAVA7提供的一個用于并行執行任務的框架,是一個把大任務分割成若干個小任務,最終匯總每個小任務結果后得到大任務結果的框架Fork/Join中兩個重要的類 ForkJoinTask:使用該框架,需要創建一個ForkJoin任務…

修復bug的12個關鍵步驟

要多少時間才能修復bug,事先是很難知道的,特別是如果你和這些代碼還素不相識的話,情況就更加撲朔迷離了。James Shore在《The Art of Agile 》一書中,明確指出要想修復問題得先知道問題的所在。而我們之所以無法準確估計時間是因為…

Java JUC工具類--Master-Worker

Master-Worker Master-Worker模式是常用的并行計算模式。它的核心思想是系統由兩類進程協作工作:Master進程和Worker進程Master負責接收和分配任務,Worker負責處理子任務當各個Worker子進程處理完成后,會將結果返回給Master,由Ma…

身體打來的電話,你一定要接!

心臟有問題時。左邊手臂會酸、麻、痛。肝臟有問題時。小腿晚上睡覺時容易抽筋。腎臟出現問題時。聲音就會出不來,就會沙啞。脾胃出現問題時。偏頭痛。附:五臟排毒最簡單有效的方法 一、心臟有問題時 1。呼吸會不順暢,胸口會悶也會刺痛&…

Java JUC工具類--Semaphore

Semaphore 在Semaphore信號量非常適合高并發訪問限制,新系統在上線之前,要對系統的訪問量進行評估,評估是經過以往的經驗、數據、歷年的訪問量,已經推廣力度進行一個合理的評估當然評估標準不能太大也不能太小,太大的…

python 基礎知識點整理 和具體應用

Python教程 Python是一種簡單易學,功能強大的編程語言。它包括了高效的高級數據結構和簡單而有效的方法,面向對象編程。Python優雅的語法,動態類型,以及它天然的解釋能力,使其成為理想的語言,腳本和應用程序…

Java 線程池相關問題

線程池的拒絕策略 AbortPolicy:直接拋出異常阻止系統正常工作。CallerRunsPolicy:只要線程池未關閉,該策略直接在調用者線程中,運行當前被丟棄的任務。DiscardOldestPolicy:丟棄最老的一個請求,嘗試再次提…

對編程人員我想說:多做 多實踐 多寫代碼

有很多人問我,怎樣提高自己的能力?有初學者,有水平達到一定程度的程序員。 我想說,不要過多的看代碼,看計算機理論,看別人寫的文章,代碼等,最重要的是自己理解了某個原理&#xff0c…

讀人是基礎,看人是關鍵,做人最重要

人生在世,讀人是基礎,看人是關鍵,做人最重要。 一、讀人——一個人就是一本書。讀人,比讀其他文字的書更難。在生活中,每個人都是書,每人又都是讀者。我們認認真真地讀,讀了大半輩子&#xff0c…

使用postman模擬百度通用文字識別

1,登錄百度AI開放平臺 百度AI網站新手指南鏈接在頂部導航欄中,找到控制臺選項,輸入賬號和密碼,進入管理中心頁面在管理中心頁面中,找到文字識別的選項找到創建應用的選項,進行ocr項目的創建需要輸入應用的…

3個觀念 不再瞎學習!

此刻,你應該要做什么準備?加碼股市還是追逐房市?都不是。在你分配時間、資源的投資組合里,有沒有這一項:“自己”? 沒有人會否認充實自我的重要,但是經歷一場金融風暴大震撼,當企業…

Java調用百度OCR文字識別的接口

調用百度OCR文字識別的接口,來自于百度官網,親測可以使用 跳轉鏈接FileUtil的下載鏈接Base64Util下載鏈接HttpUtil下載鏈接GsonUtils下載鏈接Accurate.java文件 package com.baidu.ai.aip;import com.baidu.ai.aip.utils.Base64Util; import com.baidu.…

做好7步 迅速成為行業專家

行行出狀元,但不一定人人能成為行業專家或權威。無論是做獨立顧問,還是手下有250名員工的工廠主管,都是在用自己多年豐富經驗在幫助企業成功。既然有了專業知識和經驗,為什么不把它最大化利用,來建立自己的行業權威&am…