JAVA中的守护线程(后台线程)
-
守护线程(Daemon)
将线程设为守护线程:线程.setDaemon(true); -
java语言中线程分为两种类型
一类是:用户线程(包括main主线程)
另一类是:守护线程(后台线程)
其中具有代表性的是:垃圾回收线程(守护线程) -
守护线程的特点:
一般守护线程是一个死循环,所有的用户线程只要结束,
守护线程自动结束 -
守护线程的用处:
在用户线程执行完后或者某个特定时间点进行数据备份操作
如果在特定时间点之前用户线程执行结束了,守护线程自动退出,
没必要进行数据备份了 -
将线程设为守护线程:
.setDaemon(true);
用户线程结束后守护线程自动结束
public class DaemonTest01 {
public static void main(String[] args) {
Thread t = new Thread(new MyDaemon());
t.setName("数据备份线程");
//设为守护线程
t.setDaemon(true);
t.start();
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + "——>" + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class MyDaemon implements Runnable{
int i = 0;
@Override
public void run() {
while(true){
System.out.println(Thread.currentThread().getName() + "——>" + i++);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}