jUnit 单元测试多线程失败

                在jUnit 单元测试代码中,如果想测试多线程代码,结果失败。换成了main方法测试结果成功。

                现象:有部分现成执行成功,部分不成功。简单跟进代码看了下,没有找到根本原因。自己猜测下,估计结果是因为:jUnit ,他本身不是一个精灵线程,他会把jUnit方法中的第一次启动的线程作为精灵线程,也就是说当第一个启动的线程(精灵线程/守护线程)执行完成之后程序就退出了,所以会出现部分成功部分没有执行的结果。


               但是main方法去执行就能成功。可以推断下,众所周知main方法启动后本身线程会作为守护线程存在。当程序执行完成后,守护线程退出。守护线程永远是在程序执行完成之后再退出的,由此可以推断,jUnit单元方法测试多线程失败,是因为jUnit单元测试方法执行时自己没有守护线程启动,而是将程序中的一个线程作为自己的守护线程。当第一个线程(守护线程)执行完成之后程序退出了,故而出现了部分成功部分没成功的结果。


               声明:此仅仅作为参考具体原因没有考证,只是凭自己直觉猜测。目的:1.作为笔记,加深下印象防止以后再次出现类似情况茫然不知所措。2.供网友们参考规避类似问题发生。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值