Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > » 正文

Java主线程等待子线程执行完毕-CountDownLatch

来源: w397090770 分享至:
 

主线程:

 

//Main主线程 publicclass MainThread {       publicstatic void main(String[] args) throwsInterruptedException {         longstartTime = System.currentTimeMillis();         intthreadNum = 5;//线程数         //定义正在运行的线程数         CountDownLatch runningThreadNum = newCountDownLatch(threadNum);         System.out.println(Thread.currentThread().getName()+"-start");         //创建多个子线程         for(inti = 0; i < threadNum; i++) {             newSubThread(runningThreadNum).start();         }         //等待子线程都执行完了再执行主线程剩下的动作         runningThreadNum.await();         System.out.println(Thread.currentThread().getName()+"-end");         longendTime = System.currentTimeMillis();         System.out.println("runningTime:"+(endTime-startTime));     }

}

 

子线程:

//子线程 publicclass SubThread extendsThread{       //子线程记数器,记载着运行的线程数     privateCountDownLatch runningThreadNum;       publicSubThread(CountDownLatch runningThreadNum){         this.runningThreadNum = runningThreadNum;     }           @Override     publicvoid run() {         System.out.println(Thread.currentThread().getName()+"-start");         System.out.println(Thread.currentThread().getName()+"-do something");         System.out.println(Thread.currentThread().getName()+"-end");         runningThreadNum.countDown();//正在运行的线程数减一     } }

 


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史