废话不说直接进入主题。
一个java多线程程序的运行,先由javaVM进入main()方法创建主线程(main线程),然后由main线程创建线程A、B...。
main线程和A等线程的关系没有父子关系,线程消亡没有先后顺序,则main线程消亡不代表程序的结束。
public class MyThread extends Thread{
public void run(){
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i=0; i<10; i++){
System.out.println(Thread.currentThread().getName() + "is running");
}
}
public static void main(String[] args){
MyThread myThread = new MyThread ();
myThread.start();
for(int i=0; i<10; i++){
System.out.println(Thread.currentThread().getName() + "is running" + i);
}
System.out.println("main Thread is out");
}
}
以上代码运行结果是main线程消亡之后myThread运行。
转载于:https://blog.51cto.com/yimaoqian/1386730