首页 > 代码库 > java多线程执行问题

java多线程执行问题

class Demo extends Thread{    public Demo(String name){	    super(name);	}	 	public void run(){	    for(int i=0; i<6; ++i){		    System.out.println("i = " + i + "......Thread=" + Thread.currentThread().getName());			try{			    Thread.sleep(100);			}catch(InterruptedException e){			    System.out.println("进程被打断!");			}	    }	}}public class Test{   public static void main(String[] args) throws InterruptedException{         	    Demo d1 = new Demo("hjz");		Demo d2 = new Demo("chb");		d1.start();		//另外当某一个线程因为异常而终止,其他的线程照样执行,不会受到任何影响!		System.out.println(5/0);//throw new ArithmeticException()		for(int i=0; i<6; ++i){		    System.out.println("i = " + i + "......Thread=" + Thread.currentThread().getName());			Thread.sleep(200);		}						d2.start();//如果开启新线程之前,就因为异常而中止了线程,那么新线程将无法开启!   }} /*   class Demo extends Thread{    public Demo(String name){	    super(name);	}	//public Thread(String name) {    //    init(null, null, name, 0);    //} 也就是在创建线程对象的时候,通过构造函数该线程就有了名字了!	public void run(){	    for(int i=0; i<6; ++i){		    System.out.println("i = " + i + "......Thread=" + getName());			try{			    Thread.sleep(100);			}catch(InterruptedException e){			    System.out.println("进程被打断!");			}	    }	}}public class Test{   public static void main(String[] args) throws InterruptedException{	    Demo d1 = new Demo("hjz");		Demo d2 = new Demo("chb");				d1.run();		d2.run();	   }} */