6

java程序员可以手动创建守护线程吗?如何?

4

4 回答 4

12

java.lang.Thread.setDaemon(布尔值)

请注意,如果未显式设置,则此属性是从创建新线程的线程“继承”的。

于 2009-08-14T09:26:07.880 回答
6

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

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

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

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

这里有一个例子:

Thread someThread = new Thread(new Runnable() {
    @Override
    public void run() {
        runSomething();
    }
});
someThread.setDaemon(true);
someThread.start();
于 2010-01-27T21:34:26.863 回答
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());
  }
}
于 2013-09-10T08:52:29.357 回答
-4

是的你可以

Thread thread = new Thread(  
  new Runnable(){  
    public void run(){  
      while (true)
        wait_for_action();
    }  
  }  
);  
thread.start(); 
于 2009-08-14T09:19:10.470 回答