/*
守护线程:
从线程的分类上可以分为:
用户线程:
守护线程:所有的用户线程结束了生命周期守护线程才会结束生命周期,只要有一个用户线程存在,那么守护线程就不会结束
守护线程一般都是无限执行的
java的垃圾回收机制就是一个守护线程。
setDaemon() 将该线程标记为守护线程,或者用户线程。
*/
public class ThreadTest15 {
public static void main(String[] args ){
Thread t=new Thread(new Processor16());
t.setName("t1");
//将该线程设置为守护线程
t.setDaemon(true);//如果不将这线程设置为守护线程,那么这个程序会一直执行下去。
t.start();
//主线程
//因为上面已经将t设置为守护线程,所以主线程结束之后,t线程也会结束。
for(int i=0;i<10;i++){
System.out.println(Thread.currentThread().getName()+"-->"+i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
class Processor16 implements Runnable{
@Override
public void run() {//用户线程,然后如果不改变的该线程会一直执行下去。 因为这是一个无限循环。
int i=0;
while(true){
i++;
System.out.println(Thread.currentThread().getName()+"-->"+i);
}
}
}