日期:2014-05-20 浏览次数:20777 次
//www.v512.com public class TestDaemonThread { public static void main(String args[]){ Thread t1 = new MyRunner(10); t1.setName("用户线程t1"); t1.start(); Thread t2 = new MyRunner(100); t2.setDaemon(true); t2.setName("后台线程t2"); t2.start(); for(int i=0;i<10;i++){ System.out.println(Thread.currentThread().getName() + ": " + i); } System.out.println("主线程结束!"); } } class MyRunner extends Thread { private int n; public MyRunner(int n){ this.n = n; } public void run() { for(int i=0; i<n; i++) { System.out.println(this.getName() + ": " + i); } System.out.println(this.getName() + "结束!"); } }
------解决方案--------------------
这么理解吧,后台线程是在后端运行的,也就是守护线程,就是不做什么业务处理,而是只做服务前台线程,也就是非守护线程,当前太线程都结束的时候,也就是业务上完成了的时候,这个后台线程就没发挥的余地了,这时候将结束应用程序!
不知道这样好不好理解,例子的话上面已经给了