Java学习-074-多线程07:后台线程 Thread.setDaemon(true)
Java 程序中,只要前台存在一个线程,则 Java 进程(程序)都不会消失。在前台线程存续期间,可以设置一个后台线程,线程设置为后台线程可通过 Thread.setDaemon(true) 实现。示例代码如下所示:
package com.fanfengping.demo; import lombok.extern.slf4j.Slf4j; /** * Java 程序中,只要前台存在一个线程,则 Java 进程(程序)都不会消失。 * 在前台线程存续期间,可以设置一个后台线程,线程设置为后台线程可通过 * Thread.setDaemon(true) 实现 */ @Slf4j public class Demo11RunnableDaemon implements Runnable { @Override public void run() { for (int i = 0; i < 100; i++) { try { Thread.sleep(30); } catch (InterruptedException e) { e.printStackTrace(); } if (i % 5 == 0) { log.info("{} output {}", Thread.currentThread().getName(), i); } } } public static void main(String[] args) { Demo11RunnableDaemon demo11RunnableDaemon = new Demo11RunnableDaemon(); Thread threadDaemon = new Thread(demo11RunnableDaemon, "后台线程"); threadDaemon.setDaemon(true); threadDaemon.start(); try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } }
运行程序,控制台输出结果如下所示:
将 main 方法中的休眠时间加长后,还会输出更多的信息,如下所示:
由上述两次的输出结果可以看出,前台线程存续期间,后台线程是也是存在的;当前台线程结束后,后台线程也就消失了。
欢迎 【 留言 || 关注 || 打赏 】 。您的每一份心意都是对我的鼓励和支持!非常感谢!欢迎互加,相互交流学习!
作者:范丰平,本文链接:https://www.cnblogs.com/fengpingfan/p/14704360.html
Copyright @范丰平 版权所有,如需转载请标明本文原始链接出处,严禁商业用途! 我的个人博客链接地址:http://www.cnblogs.com/fengpingfan
![](https://images.cnblogs.com/cnblogs_com/fengpingfan/2153325/o_220506115434_gzgqrb.png)