Java的守护线程
2021-04-14 03:29
标签:ack har int 用例 daemon 验证 自己 rem start 守护线程会在非守护线程执行完毕时就结束,即使自己还没有执行完,就是守着别的线程, 操作: 预期: 非守护线程结束后,守护线程立马结束不会把100个数打印全。 实验代码: 输出: 只打印到了51, 结论 操作: 修改成: 预期: main线程执行结束后,t1会继续执行,直到100个数都打印出来。 执行后输出: 结论 Java的守护线程 标签:ack har int 用例 daemon 验证 自己 rem start 原文地址:https://www.cnblogs.com/oaks/p/13338009.html作用
别的线程不跑了它也不跑了,有点仆从的感觉。设计用例验证
第一个用例:实验组
别的线程什么都不干,观察守护线程能否打印全package juc.test.sharememroy;
public class TestThreadDaemon {
public static void main(String[] args) {
Thread t1 = new Thread(){
@Override
public void run() {
for (int i = 0; i
0
1
2
3
4
5
...
主线程结束,是否为主线程=false
...
49
50
51
Process finished with exit code 0
t1
就结束了,因为主线程结束了。
符合预期,main线程结束后t1线程不会继续执行。第二个用例:对照组
开启两个线程都不是守护线程,只把第一个代码中的:t1.setDaemon(true);
t1.setDaemon(false);
主线程结束,是否为主线程=false
0
1
2
...
98
99
从线程结束
符合预期,main线程结束t1线程也会继续执行。