基本概念
Java的线程分为用户线程和守护线程,虚拟机必须保证用户线程执行完毕,而不需要等待守护线程执行完毕。守护线程主要用于后台记录操作日志,监控内存,垃圾回收等功能。通过setDaemon(true)可以将线程设置守护线程。
示例代码
这里启动一个守护线程和一个用户线程,运行代码可以看到,在用户线程运行结束后,程序会中止,守护线程并不会一直执行。
public class TestDaemon {
public static void main(String[] args) {
DaemonThread daemonThread = new DaemonThread();
UserThread userThread = new UserThread();
Thread thread = new Thread(daemonThread);
thread.setDaemon(true);//将线程设为守护线程
thread.start();//启动守护进程
new Thread(userThread).start();//启动用户线程
}
}
class DaemonThread implements Runnable {
@Override
public void run() {
int i = 0;
while(true) {
System.out.println("DaemonThread is running " + i);
i++;
}
}
}
class UserThread implements Runnable {
@Override
public void run() {
for(int i = 0; i <= 1000; i++) {
System.out.println("UserThread is running " + i);
}
System.out.println("UserThread is over");
}
}
本文深入探讨了Java中守护线程的基本概念与应用场景,通过示例代码展示了如何创建守护线程,以及它与用户线程之间的关系。守护线程主要用于后台任务处理,如日志记录和监控等。
725

被折叠的 条评论
为什么被折叠?



