博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设置主线程等待子线程执行的方法
阅读量:4298 次
发布时间:2019-05-27

本文共 904 字,大约阅读时间需要 3 分钟。

首先要注意的是:

1、java的Main线程结束之后,子线程还在运行。其实主线程已经退出了,但是JVM守护线程会等待所有的线程结束,才会退出。所以我们可以看到,子线程依然在继续执行。

2、那么如何实现主线程等待子线程的执行之后再结束,这个就要用到CountDownLatch,设置要执行的线程的个数,然后再子线程的run方法中调用countDown()的方法,递减线程的计数。在主线程结束之前,调用await()的方法,一直等待。

实现如下:

public class Main extends Thread{
private CountDownLatch latch; public Main(CountDownLatch latch) { this.latch = latch; } public void run() { for (int i = 0; i < 100; i++) { System.out.println("son_"+Thread.currentThread().getName()+":"+i); } latch.countDown(); }; public static void main(String[] args) { CountDownLatch latch = new CountDownLatch(15); for (int i = 0; i < 15; i++) { new Main(latch).start(); } try { latch.await(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("main thread end..."); }}

转载地址:http://osnws.baihongyu.com/

你可能感兴趣的文章
满屏的指标?删了吧,手把手教你裸 K 交易!
查看>>
不吹不黑 | 聊聊为什么要用99%精度的数据回测
查看>>
X 分钟速成 Python
查看>>
对于模拟交易所引发的思考
查看>>
高频交易的几种策略
查看>>
网格马丁格尔交易法
查看>>
一行代码让 Python 的运行速度提高100倍
查看>>
一行 Python 实现并行化 -- 日常多线程操作的新思路
查看>>
期货市场的运作机制
查看>>
一文精通 crontab从入门到出坑
查看>>
股票连续跌停后开板表现
查看>>
东航期货行情接口和交易接口(20190509)
查看>>
ubnutu系统完美克隆至新硬盘,系统备份迁移至新硬盘
查看>>
ubnutu系统完美克隆至新硬盘,系统备份迁移至新硬盘
查看>>
东航期货模拟交易brockerid(期货公司的客户号)
查看>>
史上最全量化资源整理
查看>>
vnpy2.0安装后报错ModuleNotFoundError: No module named 'vnpy.api.ctp.vnctpmd'
查看>>
VNPY2.0火币期货交易接口配置使用
查看>>
win10和ubuntu18双系统时间同步(20190604亲测可行)
查看>>
重启小狼毫输入法,rime输入法重启
查看>>