守护进程,当其它非守护进程退出时,JVM就结束了!
就是说,当进程中只有后台线程运行时,进程就会结束。
说到守护线程,必须谈到一个方法setDaemon(),这个方法是设置某个线程为守护线程。
直接上例子:
package cn.itcast.test;
public class DaemonThreadTest {
/**
* @param args
*/
public static void main(String[] args) {
DaemonDemo daemonDemo = new DaemonDemo();
Thread thread = new Thread(daemonDemo);
thread.setDaemon(true);
thread.start();
for(int j = 0; j < 100; j++)
{
System.out.println(Thread.currentThread().getName() + ".." + j);
}
}
}
class DaemonDemo implements Runnable
{
@Override
public void run() {
for (int i = 0; i < 1000; i++) {
System.out.println(Thread.currentThread().getName()+"....." + i);
}
}
}
运行结果是:等主线程运行完后,thread线程也随之结束了,就是说当JVM发现只有守护线程时,就结束了!