public class BasicThread{
public static void main(String[]args){
Thread thread=new Thread(new Dae());
thread.setDaemon(true);
thread.start();
try {
System.out.println("all daemon started");
Thread.sleep(1000);
}catch (InterruptedException e){
}
}
}
class Dae implements Runnable{
@Override
public void run() {
Thread the=new Thread(new DaeSpawn());
the.start();
}
}
class DaeSpawn implements Runnable{
@Override
public void run() {
while (true){
System.out.println("the thread created by daemon thread is daemon? : "+Thread.currentThread().isDaemon());
}
}
}
输出:
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
the thread created by daemon thread is daemon? : true
Process finished with exit code 0
说明:为什么有这么多的输出:因为main()线程sleep了1秒,而后台线程在true中运行,所以可以一直输出直到main()线程结束