专项分类
- 用户线程、管理线程
- 守护线程:任何一个守护线程都是整个程序中所有用户线程的守护者,只要有活着的用户线程,守护线程就活着。当JVM实例中最后一个非守护线程结束时,也随JVM一起退出
- 守护线程的用处:jvm垃圾清理线程
建议:尽量少使用守护线程,智力不可控
不要在守护线程里去进行读写操作、执行计算逻辑
代码示例
package com.xdclass.thread.guard;
/**
* 守护线程Demo
*/
public class DaemonThreadDemo implements Runnable{
@Override
public void run() {
while (true) {
System.out.println(Thread.currentThread().getName());
try {
Thread.sleep(1000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) throws InterruptedException {
Thread thread = new Thread(new DaemonThreadDemo());
thread.start();
thread.setDaemon(true);
Thread.sleep(2000L);
}
}