public class justTest extends Thread {
private int num=0;
public void run()
{
while(true)
{
if(num++==1000)
break;
System.out.println(getName());
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
justTest jt=new justTest();
//jt.run();//实例化的对象可以直接调用run()方法,不过不会启动一个新的线程,所以下面的isAlive()为false();
jt.start();
System.out.println(jt.isAlive());
}
}
output:true
Thread-0
Thread-0
Thread-0
Thread-0 ......
”继承Thread的子类的实例“与“线程本身”是两个不同的部分,即使建立了该实例,线程也还没有启动,必须要等调用start()方法后才启动;而且就算线程已经结束,该实例对象也不会就这样消失;
当所有线程都结束时,程序也就结束了;不过这里说的线程指的是所有非deamon的线程,也就是当所有的非deamon的线程已经全部结束时,就算还存在着deamon的线程也处程序已经结束了;
private int num=0;
public void run()
{
while(true)
{
if(num++==1000)
break;
System.out.println(getName());
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
justTest jt=new justTest();
//jt.run();//实例化的对象可以直接调用run()方法,不过不会启动一个新的线程,所以下面的isAlive()为false();
jt.start();
System.out.println(jt.isAlive());
}
}
output:true
Thread-0
Thread-0
Thread-0
Thread-0 ......
”继承Thread的子类的实例“与“线程本身”是两个不同的部分,即使建立了该实例,线程也还没有启动,必须要等调用start()方法后才启动;而且就算线程已经结束,该实例对象也不会就这样消失;
当所有线程都结束时,程序也就结束了;不过这里说的线程指的是所有非deamon的线程,也就是当所有的非deamon的线程已经全部结束时,就算还存在着deamon的线程也处程序已经结束了;