首页 > 代码库 > Junit单元测试对线程测试没反应
Junit单元测试对线程测试没反应
今天还想简单写写线程的东西,结果刚刚写完我就懵逼了。
结果啥都没有输出,而用主方法运行就可以输出。没办法,只有度年来寻求自己的答案了
结果各方面的了解,我算是有个了解了.
首先来看看代码
package com.mendale.Test; import java.util.Date; import org.junit.Test; public class Test1 { @Test public void test() { MyTime mt = new MyTime(); mt.start(); } public static void main(String[] args) { MyTime mt = new MyTime(); mt.start(); } } class MyTime extends Thread{ public void run(){ boolean flag=true; while(flag){ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } Date d=new Date(); System.out.println(d); } } }
如果你用单元测试你会发现什么也没输出,同时也没报错;这个时候你再用主方法测试你就会
发现竟然有输出,竟然有输出了!!! 这个问题也是让我纠结了很久。
回想一下:
我们常用的方法其实是一个精灵线程(即守护线程:它是在保证其他线程运行完之后,然后也就over了)。而单元测试我
上网了解了一下它不是一个精灵线程
(后续源码分析:暂缓)
Junit单元测试对线程测试没反应
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。