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