setDaemon详解

setDaemon详解一 线程 JAVA 线程分为即实线程与守护线程 守护线程是优先级低 存活与否不影响 JVM 的退出的线程 实现守护线程的方法是在线程 start 之前 setDaemon true 否则会抛出一个 IllegalThrea 异常 不能操作文件 数据库等资源 避免主线程关闭而未能关闭守护线程的资源 并且它会在任何时候甚至在一个操作的中间发生中断 二 优点及使用场景在主线程关闭

public class Demo { 
    public static void main(String[] args) { 
    Thread thread = new Thread(() -> { 
    while (true) { 
    try { 
    TimeUnit.SECONDS.sleep(1); } catch (InterruptedException e) { 
    e.printStackTrace(); } System.out.println("----睡眠一秒-----"); } }); //默认为false,设置为false代表非守护线程,true为守护线程,守护线程在主方法结束时候结束 // thread.setDaemon(true); thread.start(); try { 
    TimeUnit.SECONDS.sleep(3); } catch (InterruptedException e) { 
    e.printStackTrace(); } System.out.println("主线程over"); } } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207243.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午2:15
下一篇 2026年3月19日 下午2:15


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号