Java實(shí)現(xiàn)等待所有子線程結(jié)束后再執(zhí)行一段代碼的方法
本文實(shí)例講述了Java實(shí)現(xiàn)等待所有子線程結(jié)束后再執(zhí)行一段代碼的方法。分享給大家供大家參考,具體如下:
今天有一個(gè)需求是:在一個(gè)方法中開啟了一個(gè)子線程來執(zhí)行操作,返回值依賴于子線程的執(zhí)行結(jié)果,這樣如果要返回正確的值,就需要開啟子線程后
主線程等待子線程,然后子線程執(zhí)行結(jié)束后,主線程再繼續(xù)執(zhí)行。
主線程等待子線程需要用到:CountDownLatch
代碼如下:
import java.util.concurrent.CountDownLatch; public class Counter { public static int count = 0; static CountDownLatch cdl=new CountDownLatch(1000);//這里的數(shù)字,開啟幾個(gè)線程就寫幾 public synchronized static void inc() throws InterruptedException{//注意,如果不加上synchronized,由于并發(fā)寫入,結(jié)果會(huì)小于1000 Thread.sleep(1); count++; cdl.countDown(); } public static void main(String[] args) throws InterruptedException{ for(int i = 0; i < 1000; i++){ new Thread(new Runnable(){ public void run() { // TODO Auto-generated method stub try { Counter.inc(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } ).start(); } cdl.await();//主線程等待子線程執(zhí)行輸出 System.out.println(count); } }
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
java集合_淺談Iterable和Iterator的區(qū)別
下面小編就為大家?guī)硪黄猨ava集合_淺談Iterable和Iterator的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09關(guān)于Spring3 + Mybatis3整合時(shí)多數(shù)據(jù)源動(dòng)態(tài)切換的問題
這篇文章主要介紹了關(guān)于Spring3 + Mybatis3整合時(shí)多數(shù)據(jù)源動(dòng)態(tài)切換的問題,需要的朋友可以參考下2017-04-04實(shí)體類或?qū)ο笮蛄谢瘯r(shí),忽略為空屬性的操作
這篇文章主要介紹了實(shí)體類或?qū)ο笮蛄谢瘯r(shí),忽略為空屬性的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06httpclient的disableConnectionState方法工作流程
這篇文章主要為大家介紹了httpclient的disableConnectionState方法工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11SpringBoot+MyBatis+AOP實(shí)現(xiàn)讀寫分離的示例代碼
高并發(fā)這個(gè)階段,肯定是需要做MySQL讀寫分離的。本文主要介紹了SpringBoot+MyBatis+AOP實(shí)現(xiàn)讀寫分離的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11Java RandomAccessFile 指定位置實(shí)現(xiàn)文件讀取與寫入
這篇文章主要介紹了Java RandomAccessFile 指定位置實(shí)現(xiàn)文件讀取與寫入的相關(guān)資料,需要的朋友可以參考下2017-01-01