美文网首页
二:多线程之守护线程

二:多线程之守护线程

作者: 一森 | 来源:发表于2019-05-28 10:01 被阅读0次

在Java中线程分为两种:

  • 用户线程:即正常创建的线程,如负责下载、上传等耗时任务的线程
  • 守护线程:在正常创建的线程上设置setDaemon(true) 该线程就成了守护线程

守护线程的生命周期:

基于其他线程,如果在程序中所有用户线程都执行完毕了,那么守护线程就会被销毁。

守护线程的优先级:

守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。

举个雷子:

    // 创建一个用户进程,进行一行打印操作
    public static class UserThread extends Thread {
        @Override
        public void run() {
            super.run();

            System.out.println("我是" + (Thread.currentThread().isDaemon() ? "守护进程" : "用户进程"));
        }
    }

    // 创建一个守护进程,进行循环打印,看打印多久
    public static class DaemonThread extends Thread {
        @Override
        public void run() {
            super.run();

            while (true) {
                System.out.println("我是" + (Thread.currentThread().isDaemon() ? "守护进程" : "用户进程"));
            }
        }
    }

    public static void main(String[] agrs) {
        // 在main函数中启动用户线程
        UserThread userThread = new UserThread();
        userThread.start();

        // 在main函数中启动守护线程
        DaemonThread daemonThread = new DaemonThread();
        // 将该线程设置成守护线程
        daemonThread.setDaemon(true);
        daemonThread.start();
    }

既然守护线程是依赖于其他线程的,那么当UserThread线程执行完毕后,DaemonThread线程就会失去对象并被销毁,来看输出结果:

我是用户进程
我是守护进程
我是守护进程
我是守护进程
我是守护进程
Process finished with exit code 0

相关文章

  • java——多线程讲解三

    java多线程的补充:守护线程(后台线程)守护线程:在一个进程中如果只剩下了守护线程,那么守护线程也会死亡。任何一...

  • 二:多线程之守护线程

    在Java中线程分为两种: 用户线程:即正常创建的线程,如负责下载、上传等耗时任务的线程 守护线程:在正常创建的线...

  • 多线程介绍

    一、进程与线程 进程介绍 线程介绍 线程的串行 二、多线程 多线程介绍 多线程原理 多线程的优缺点 多线程优点: ...

  • 多线程-守护线程

    守护线程特点:随着调用线程的停止而销毁。 设置守护线程,setDaemon(true); public class...

  • Python-day-18多线程

    1、多线程技术1 二、多线程技术2 三、多线程应用 四、jion函数

  • iOS - 多线程(一):初识

    iOS - 多线程 系列文章 iOS - 多线程(一):初识iOS - 多线程(二):pthread、NSThre...

  • iOS - 多线程(二):pthread、NSThread

    iOS - 多线程 系列文章 iOS - 多线程(一):初识iOS - 多线程(二):pthread、NSThre...

  • iOS - 多线程(四):NSOperation

    iOS - 多线程 系列文章 iOS - 多线程(一):初识iOS - 多线程(二):pthread、NSThre...

  • iOS - 多线程(三):GCD

    iOS - 多线程 系列文章 iOS - 多线程(一):初识iOS - 多线程(二):pthread、NSThre...

  • 多线程编程

    多线程编程之Linux环境下的多线程(一)多线程编程之Linux环境下的多线程(二)多线程编程之Linux环境下的...

网友评论

      本文标题:二:多线程之守护线程

      本文链接:https://www.haomeiwen.com/subject/rbxrtctx.html