各位,我在学习多线程时候,使用jnit包下的单元测试,测试如下代码的时候,返回结果为什么不显示i的值啊
public class ThreadTest {
@Test
public void test1(){
Sample sample = new Sample();
sample.start();
}
}
class Sample extends Thread{
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("子线程:" + i);
}
}
}
结果是这样的:
但是如果使用main方法调用的话结果就正确了,请问各位是为什么啊
junit 开启子线程, 不能正确显示,那是因为junit单元测试方法所在的线程没有阻塞,运行完了就直接结束了,导致它启动的子线程也异常结束了
看看这篇了解下https://blog.csdn.net/anthony_ju/article/details/113851557