请看我调试的结果吧,相信你会明白的
import java.io.*;
public class TestMain extends Thread {
public TestMain() {
}
public void run() {
for(int i = 1; i <= 10; i++){
try {
Thread.sleep(3000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
System.out.println(i);
}
System.out.println("我结束了");
}
public static void main(String [] args)throws Exception{
TestMain test = new TestMain();
test.setDaemon(true);
test.start();
System.out.println("isDaemon = " + test.isDaemon());
int i = 20;
while(true)
{
Thread.sleep(1000*3);
System.out.println(i--);
if(i==17)
{
System.out.println("主线程结束");
break;
}
}
}
}
1、当普通线程运行结束时,本例的“主线程”,系统不管你这个守护线程有没有结束,我都退出
2、至于有什么实际应用,我也是菜鸟,不过我同意网上说的,jvm的垃圾回收线程,是一个守护线程。
3、还有输入法的后台线程,就是守护线程,它可以限制你的输入对不对,给出提示,我也同意这个说法。
4、有什么不对的,请各个师兄弟姐妹指出 |
-
守护.PNG
(11.1 KB, 下载次数: 21)
守护线程例子运行结果
|