Day13_74_守护线程

守护线程

  • 线程分为 用户线程 和 守护线程。

  • setDeamon(boolean) 方法 :将该线程标记为守护线程或者用户线程。 线程对象.setDaemon(true); //false 表示用户线程,true表示守护线程。

  • 守护线程是这样的 所有的用户线程结束生命周期后,守护线程才会自动结束生命周期,只要有一个用户线程存在那么守护线程就不会结束生命周期。

  • 例如java中的垃圾回收机制就是一个守护线程。

  • 守护线程一般都是无限执行的

  • 代码实例

        package com.shige.Thread;
    
        public class ThreadTest13 {
            public static void main(String[] args) throws InterruptedException {
    
                //创建线程
                Thread thread=new Thread(new Processor_13());
    
                // 将该线程标记为守护线程
                thread.setDaemon(true);   //false 表示用户线程
    
                //启动线程
                thread.start();
    
               //主线程for循环输出完成后,守护线程thread会自动消亡
                for (int i = 0; i < 10; i++) {
                    System.out.println(Thread.currentThread().getName()+"---->"+i);
                    thread.sleep(1000);
                 }
    
            }
       }
    
    

 //定义一个无限循环的线程
   class Processor_13 implements Runnable{

            @Override
            public void run() {
                int i=1;

                while(true){
                    i++;
                    System.out.println(Thread.currentThread().getName()+"---->"+i);
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }

            }
     }
posted @ 2021-04-08 15:54  失昼  阅读(30)  评论(0)    收藏  举报