還想簡單寫寫線程的東西,結(jié)果剛剛寫完我懵逼了。
結(jié)果啥都沒有輸出,而用主方法運行可以輸出。沒辦法,只有度年來尋求自己的答案了
結(jié)果各方面的了解,我算是有個了解了.
首先來看看代碼
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);
}
}
}
如果你用單元測試你會發(fā)現(xiàn)什么也沒輸出,同時也沒報錯;這個時候你再用主方法測試你會發(fā)現(xiàn)竟然有輸出,竟然有輸出了!!! 這個問題也是讓我糾結(jié)了很久。
回想一下:
我們常用的方法其實是一個精靈線程(即守護線程:它是在保證其他線程運行完之后,然后也over了)。而單元測試我上網(wǎng)了解了一下它不是一個精靈線程