Can a java programmer can create daemon threads manually? How is it?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
java.lang.Thread.setDaemon(boolean)
Note that if not set explicitly, this property is "inherited" from the Thread that creates a new Thread.
回答2:
You can mark a thread as a daemon using the setDaemon method provided. According to the java doc:
Marks this thread as either a daemon thread or a user thread. The Java Virtual Machine exits when the only threads running are all daemon threads.
This method must be called before the thread is started.
This method first calls the checkAccess method of this thread with no arguments. This may result in throwing a SecurityException (in the current thread).
Here an example:
Thread someThread = new Thread(new Runnable() {
@Override
public void run() {
runSomething();
}
});
someThread.setDaemon(true);
someThread.start();
回答3:
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());
}
}
回答4:
Yes you can
Thread thread = new Thread(
new Runnable(){
public void run(){
while (true)
wait_for_action();
}
}
);
thread.start();