易百教程

272、如果线程启动,可以将用户线程作为守护线程吗?

不能。如果这样做,它会抛出 IllegalThreadStateException。因此,只能在启动线程之前创建一个守护线程。示例代码:

class Testdaemon1 extends Thread{    
public void run(){  
          System.out.println("Running thread is daemon...");  
}  
public static void main (String[] args) {  
      Testdaemon1 td= new Testdaemon1();  
      td.start();  
      setDaemon(true);// It will throw the exception: td.   
   }  
}

运行结果:

Running thread is daemon...
Exception in thread "main" java.lang.IllegalThreadStateException
at java.lang.Thread.setDaemon(Thread.java:1359)
at Testdaemon1.main(Testdaemon1.java:8)