日期:2014-05-20 浏览次数:20965 次
//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() + "结束!");
}
}
------解决方案--------------------
这么理解吧,后台线程是在后端运行的,也就是守护线程,就是不做什么业务处理,而是只做服务前台线程,也就是非守护线程,当前太线程都结束的时候,也就是业务上完成了的时候,这个后台线程就没发挥的余地了,这时候将结束应用程序!
不知道这样好不好理解,例子的话上面已经给了