易百教程

269、是否可以启动一个线程两次?

不能。不能重新启动线程,因为一旦线程启动并执行,它就会进入 Dead 状态。因此,如果尝试启动一个线程两次,它会给出一个 runtimeException “java.lang.IllegalThreadStateException”。参考以下示例。

public class Multithread1 extends Thread  
{  
   public void run()  
    {  
      try {  
          System.out.println("thread is executing now........");  
      } catch(Exception e) {  
      }   
    }  
    public static void main (String[] args) {  
        Multithread1 m1= new Multithread1();  
        m1.start();  
        m1.start();  
    }  
}

运行错误如下:

thread is executing now........
Exception in thread "main" java.lang.IllegalThreadStateException
    at java.lang.Thread.start(Thread.java:708)
    at Multithread1.main(Multithread1.java:13)