python开两个守护线程_hdfs守护线程

python开两个守护线程_hdfs守护线程**守护线程**是区别于用户线程哈,**用户线程**即我们手动创建的线程,而守护线程是程序运行的时候在后台提供一种**通用服务的线程**。垃圾回收线程就是典型的守护线程。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

守护线程是区别于用户线程,用户线程即我们手动创建的线程,而守护线程是程序运行的时候在后台提供一种通用服务的线程。垃圾回收线程就是典型的守护线程。

守护线程和非守护线程的区别是

    public static void main(String[] args) throws InterruptedException { 
   
        Thread t1 = new Thread(()-> { 
   
                while (true) { 
   
                    try { 
   
                        Thread.sleep(1000);
                        System.out.println("我是子线程(用户线程.I am running");
                    } catch (Exception e) { 
   
                    }
                }
        });
        //标记为守护线程
        t1.setDaemon(true);
        //启动线程
        t1.start();

        Thread.sleep(3000);
        System.out.println("主线程执行完毕...");
    }

执行结果

python开两个守护线程_hdfs守护线程

可以发现标记为守护线程后,主线程销毁停止,守护线程一起销毁。我们再看下,去掉 t1.setDaemon(true)守护标记的效果:

python开两个守护线程_hdfs守护线程

所以,当主线程退出时,JVM 也跟着退出运行,守护线程同时也会被回收,即使是死循环。如果是用户线程,它会一直停在死循环跑。这就是守护线程和非守护线程的区别

守护线程拥有自动结束自己生命周期的特性,非守护线程却没有。如果垃圾回收线程是非守护线程,当JVM 要退出时,由于垃圾回收线程还在运行着,导致程序无法退出,这就很尴尬。这就是为什么垃圾回收线程需要是守护线程。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • blurImage做图片模糊处理报错free(): invalid next size[通俗易懂]

    blurImage做图片模糊处理报错free(): invalid next size

    2022年2月5日
  • spring的事务隔离级别「建议收藏」

    spring的事务隔离级别「建议收藏」spring的事务隔离级别

    2022年4月22日
  • python京东自动签到领金豆_github京东自动签到

    python京东自动签到领金豆_github京东自动签到一.介绍PhantomJS是一个基于WebKit的JavaScriptAPI,它使用QtWebKit作为它核心浏览器的功能,使用WebKit来编译解释执行JavaScript代码,任何你可以在基于WebKit浏览器做的事情,它都能做到。Selenium是一个用于Web应用自动化程序测试的工具,可以让浏览器自动加载页面,获取需要的数据,Selenium自己不带浏览器,所以需要和PhantomJS、…

    2022年9月16日
  • 通俗理解线性回归(一)

    通俗理解线性回归(一)0什么是回归?假设线性回归是个黑盒子,那按照程序员的思维来说,这个黑盒子就是个函数,然后呢,我们只要往这个函数传一些参数作为输入,就能得到一个结果作为输出。那回归是什么意思呢?其实说白了,就是这个黑盒子输出的结果是个连续的值。如果输出不是个连续值而是个离散值那就叫分类。那什么叫做连续值呢?非常简单,举个栗子:比如我告诉你我这里有间房子,这间房子有40平,在地铁口,然后你来猜一猜我的房子总共值…

    2022年6月19日
  • MODIS数据介绍——波段、产品

    MODIS数据介绍——波段、产品MODIS是搭载在terra和aqua卫星上的传感器,MODIS扫描周期为1.477秒,每条扫描线沿扫描方向有1354个Pixels,沿卫星轨道方向有10个1KMD的IFOV。在每个IFOV中,1KM分辨率波段有1个采样,500M分辨率波段有4个采样,250M波段有16个采样。通过网址进行下载:https://ladsweb.modaps.eosdis.nasa.gov/对于MODIS的波段…

    2022年5月10日
  • django示例_Django 模板

    django示例_Django 模板前言目前市面上有非常多的模板系统,其中最知名最好用的就是DTL和Jinja2。DTL是DjangoTemplateLanguage三个单词的缩写,也就是Django自带的模板语言。当然也可以配置

    2022年8月7日

发表回复

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

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