守护线程实战与应用场景

守护线程

  • 程序分为用户线程和守护线程
  • 虚拟机不会等待守护线程执行完毕

守护线程一般用来做一些 “不关键的事情”

如gc垃圾回收器就是一个经典的守护线程

package com.li.changGe.multithreading.threadState;

public class DaemonDemo01 {
  public static void main(String[] args) {
      /**
       * 播放器线程始终守护着视频线程
       * 
       * player.setDaemon(true);
       * 设置播放器线程为守护线程
       */
      Thread player = new Thread(() -> {
          System.out.println("播放器打开了");
          while (true){
              System.out.println("播放器进行中");
              try {
                  Thread.sleep(10);
              } catch (InterruptedException e) {
                  e.printStackTrace();
              }
          }//while
      });

      Thread video = new Thread(() -> {
          System.out.println("视频打开了");
          for (int i = 0; i < 3; i++) {
              System.out.println("看视频中");
          }
          System.out.println("视频关闭了");
      });

      /**
       * 默认为false用户线程
       */
      player.setDaemon(true);

      player.start();
      video.start();

  }

}

在这里插入图片描述


版权声明:本文为lm12032015原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。