package 守护线程; /*守护线程:线程默认的是非守护线程(也就是用户线程),使用void setDaemon()方法将自己设置成一个守护线程。
特点:当所有的用户进程结束运行时,即使守护进程run方法中还有需要执行的语句,它也会立刻结束。它的结束也不会带来任何后果。注意:一个线程必须在运行之前将设置自己是否是守护进程。 */ Daemon.java public class Daemon implements Runnable{ Thread A,B; //目标对象组合线程。弱耦合。 Daemon(){ A = new Thread(this); B = new Thread(this); //利用构造方法,将Daemon对象作为线程的目标对象, } public void run(){ if(Thread.currentThread()==A){ for(int i = 0;i<8;i++){ System.out.println("i="+i); try{Thread.sleep(1000); }catch(InterruptedException e){} } } else if (Thread.currentThread()==B){ while(true){ System.out.println("B是守护线程"); try{Thread.sleep(1000); }catch(InterruptedException e){} } } } } Example.java package 守护线程; public class Example_7 { public static void main(String[] args) { Daemon da = new Daemon(); da.A.start(); da.B.setDaemon(true); //运行前将B线程设置为守护线程。 da.B.start(); } }