问题:什么是守护线程,使用场景是什么,如何创建守护线程

问题

什么是守护线程?使用场景是什么?如何创建守护线程?

答案

守护线程

守护线程通常执行一些任务,当所有非守护线程终止的时候,JVM简单的丢弃掉所有现存的守护线程.一旦其它非守护线程执行完,不一定所有的守护线程都会执行完才退出,它们可能在非守护线程执行完后的某个时刻退出.

使用场景

来为其它线程提供服务支持.

守护线程的创建

为了创建一个守护线程,需要在调用thread.start()方法之前调用thread.setDeamon()方法.

代码如下:

Thread daemon = new Thread(()
  -> System.out.println("Hello from daemon!"));
daemon.setDaemon(true);
daemon.start();

在上面这段代码中,上面的这段消息可能不会被打印出来,发生的场景是这样的:当main(()方法执行完之后,守护线程才得到了执行的机会,这个时候非守护线程退出了,那么守护线程即使得到了执行的机会,也有可能被终止.所以通常不要在守护线程中做一些重要的操作,因为它们不一定能全部执行完.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 多线程编程 5.1 线程基础 5.1.1 如何创建线程 在java要创建线程,一般有==两种方式==:1)...
    AndroidMaster阅读 5,747评论 0 11
  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    胜浩_ae28阅读 10,532评论 0 23
  • 一、线程的生命周期 线程状态转换图: 1、新建状态 用new关键字和Thread类或其子类建立一个线程对象后,该线...
    我是嘻哈大哥阅读 4,466评论 0 8
  • 【JAVA 线程】 线程 进程:是一个正在执行中的程序。每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者...
    Rtia阅读 7,696评论 2 20
  • 百科全书记载“大堡礁,是世界最大最长的珊瑚礁群,位于南半球,它纵贯于澳洲的东北沿海,因为多次发现海洋物种被列为世界...
    lily的简书阅读 4,785评论 1 1