gistfile1.txt public class StartDead extends Thread{ //定义后台线程的线程执行体与普通线程没有任何区别 private int i; //重写run()方法,run()方法的方法体就是线程执行体 @Override public void run() { for
public class StartDead extends Thread{ //定义后台线程的线程执行体与普通线程没有任何区别 private int i; //重写run()方法,run()方法的方法体就是线程执行体 @Override public void run() { for (;i<1000;i++) { //当线程类继承Thread类时,直接使用this即可获取当前线程 //Thread类的getName()返回当前线程的名字 System.out.println(getName()+" "+i); } } public static void main(String[] args) { StartDead sd = new StartDead(); for (int i=0;i<300;i++) { //调用Thread的currentThread()方法获取当前线程 System.out.println(Thread.currentThread().getName()+" "+i); if(i == 20) { //启动线程 sd.start(); //判断启动后线程的isAlive()值,输出true System.out.println(sd.isAlive()); } //当线程处于新建,死亡两种状态时,isAlive()返回false if(i>20 && !sd.isAlive()) { //企图再次启动该线程 sd.start(); } } } }