前言
在junit测试代码里面有多线程的时候出现很奇怪的问题,后面有些代码没执行,也没报错,然后我就纳闷了……why?
正文
问了同事才发现,junit 单元测试当主线程执行完毕,主线程会关闭,并且关闭子线程
搜了下网上资料,方法如下:
解决方法
- 1、在主线程最后中使用join 等待子线程执行完
Thread.currentThread().join();
- 2、使用CountDownLatch 等待
- 3、当然还可以让主线程睡眠来等待子线程(前提你得设置睡眠时间大于子线程执行的时间,不好操作)
总结
对junit测试不熟,线程不熟
网友评论