如何创建守护程序线程?

时间:2009-08-14 09:16:12

标签: java daemon

java程序员可以手动创建守护程序线程吗?怎么回事?

4 个答案:

答案 0 :(得分:12)

java.lang.Thread.setDaemon(boolean)

请注意,如果未明确设置,则此属性将从创建新线程的Thread“继承”。

答案 1 :(得分:6)

您可以使用提供的setDaemon方法将线程标记为守护程序。根据java doc:

  

将此线程标记为守护程序线程或用户线程。当运行的唯一线程都是守护程序线程时,Java虚拟机将退出。

     

必须在线程启动之前调用此方法。

     

此方法首先调用此线程的checkAccess方法,不带参数。这可能导致抛出SecurityException(在当前线程中)。

这是一个例子:

Thread someThread = new Thread(new Runnable() {
    @Override
    public void run() {
        runSomething();
    }
});
someThread.setDaemon(true);
someThread.start();

答案 2 :(得分:0)

class mythread1 implements Runnable {
  public void run() {
    System.out.println("hii i have set thread as daemon");
  }


  public static void main(String []arg) {
    mythread1 th=new mythread1();
    Thread t1 = new Thread(th);
    t1.setDaemon(true);
    t1.start();
    System.out.println(t1.isDaemon());
  }
}

答案 3 :(得分:-4)

是的,你可以

Thread thread = new Thread(  
  new Runnable(){  
    public void run(){  
      while (true)
        wait_for_action();
    }  
  }  
);  
thread.start();