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

守护线程与非守护线程

Java分为两种线程:用户线程和守护线程

所谓守护线程是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。

守护线程和用户线程的没啥本质的区别:唯一的不同之处就在于虚拟机的离开:如果用户线程已经全部退出运行了,只剩下守护线程存在了,虚拟机也就退出了。 因为没有了被守护者,守护线程也就没有工作可做了,也就没有继续运行程序的必要了。

将线程转换为守护线程可以通过调用Thread对象的setDaemon(true)方法来实现。在使用守护线程时需要注意一下几点:

(1) thread.setDaemon(true)必须在thread.start()之前设置,否则会跑出一个IllegalThreadStateException异常。你不能把正在运行的常规线程设置为守护线程。

(2) 在Daemon线程中产生的新线程也是Daemon的。

(3) 守护线程应该永远不去访问固有资源,如文件、数据库,因为它会在任何时候甚至在一个操作的中间发生中断。

使用:

  • Runnable tr=new TestRunnable();
  • Thread thread=new Thread(tr);
  • thread.setDaemon(true); //设置守护线程
  • thread.start(); //开始执行分进程

发布者:糖太宗,转载请注明出处:https://www.qztxs.com/archives/uncategorized/11459

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年5月28日 下午10:10
下一篇 2022年5月28日 下午10:11

相关推荐

  • 一文看懂 ZooKeeper ,面试再也不用背八股

    ZooKeeper知识点总结 一、ZooKeeper 的工作机制 二、ZooKeeper 中的 ZAB 协议 三、数据模型与监听器 四、ZooKeeper 的选举机制和流程 本文将以如下内容为主线讲解ZooKeeper中的学习重点,包括 ZooKeeper 中的角色、ZAB协议、数据模型、选举机制、监听器原理以及应用场景等。会对相关的面试题或开发中常见内容,...

    2023年1月26日
    700
  • 格式化输出

    支线 ​``` d = 345.678 s = "hello!" i = 1234 # "%"表示进行格式化输出,"%"之后的内容为格式的定义。 print("%f" % d)# "f"表示格式化输出浮点数。 print("%9.2f" % d)#"9.2"中的9表示输出的长度,2表示小数点后的位数 print("%+9.2f" % d)#"+"表示输出的数...

    未分类 2023年1月26日
    700
  • 搞定了!OAuth2使用验证码进行授权

    现在验证码登录已经成为很多应用的主流登录方式,但是对于OAuth2授权来说,手机号验证码处理用户认证就非常繁琐,很多同学却不知道怎么接入。 认真研究胖哥Spring Security OAuth2专栏的都会知道一个事,OAuth2其实不管资源拥有者是如何认证的,只要资源拥有者在授权的环节中认证了就可以了,至于你是验证码、账密,甚至是什么指纹虹膜都无所谓。 I...

    未分类 2022年5月28日
    2700
  • 怎么才能摆脱讨好型人格?

      在生活中,你是这样的人吗?周围的人都都评价“你人真好”。、不会拒绝别人的要求,总觉得拒绝别人像犯了天大的错一样。给别人帮忙时比做自己的事情还要谨慎。和别人在一起,总怕冷场,所以会一直不停地找话题。发短信给对方,要斟酌半天的措辞,连表情都要要选择几次。对方一失落,你就开始紧张是不是和自己有关,而当别人做错了事,一道歉,你就会心软原谅。如果你有这些...

    2022年5月19日
    2100
  • 艺术史上最大的玫瑰杀人案 : 美到令人窒息,却也残忍到极致​

    埃拉伽巴路斯的玫瑰 The Roses of Heliogabalus ▲ 劳伦斯·阿尔玛·塔德玛 荷兰,1836-1912年 墨西哥 西蒙基金会藏 初看这幅画 大多数人或许都会觉得浪漫 从天洒落的粉红色玫瑰花 沉浸在花海里的宾客 美酒佳肴,载歌载舞 清明亮丽的环境中,躺着绝色佳丽 结合远处的酒神巴克斯的雕像 俨然是欢庆酒神节的盛宴 然而在这浪漫之下 却是一...

    2022年5月18日
    6400

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信