- 用户线程:也叫工作线程,当线程的任务执行完成或通知方式结束;
- 守护线程:一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束。最经典的一个守护线程案例就是 Java 的垃圾回收线程;
setDaemon 方法
使用 setDaemon 方法,可以将某个线程设置为守护线程。
public class Main {public static void main(String[] args) {Deamon deamon = new Deamon();deamon.setDaemon(true);deamon.setName("守护线程");deamon.start();Task task = new Task();task.setName("任务1");task.start();}}class Deamon extends Thread {@Overridepublic void run() {while (true) {try {sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(getName() + ": 监视中...");}}}class Task extends Thread {@Overridepublic void run() {for (int i = 0; i < 5; i++) {try {sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(getName() + ": " + i);}}}
