后台线程/守护线程
- public final void setDaemon(boolean on): 设置为守护线程
线程类1
package com.cmy.threaddemo8;
/**
* @author 陈明勇
*/
public class MyThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(getName() + "---" + i);
}
}
}
线程类2
package com.cmy.threaddemo8;
/**
* @author 陈明勇
*/
public class MyThread2 extends Thread {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(getName() + "---" + i);
}
}
}
测试类
package com.cmy.threaddemo8;
/**
* @author 陈明勇
*/
public class Demo {
public static void main(String[] args) {
MyThread myThread = new MyThread();
myThread.setName("女神");
MyThread2 myThread2 = new MyThread2();
myThread2.setName("备胎");
// 把第二个线程设置为守护线程
// 当普通线程执行完毕之后,守护线程也没有继续运行下去的必要了
myThread2.setDaemon(true);
myThread.start();
myThread2.start();
}
}
把第二个线程设置为守护线程, 当普通线程执行完毕之后,守护线程也没有继续运行下去的必要了

本文详细介绍了如何在Java中通过`setDaemon(true)`方法将线程设为守护线程,重点阐述了守护线程的作用,即在主线程结束时自动退出。通过实例展示了MyThread和MyThread2的区别,并解释了为何MyThread2作为守护线程在主线程结束后不会继续运行。
1164

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



