zoukankan      html  css  js  c++  java
  • 守护线程与用户线程

    一、守护线程(Daemon Thread)

            为用户线程提供便利服务的线程就是守护线程,比如JVM中的垃圾回收器就是一种守护线程。守护线程不止是有JVM自行创建的线程,程序员也可以通过setDaemon(true)的方式,将用户线程转化为守护线程。当然,既然守护线程的唯一作用是为用户线程提供便利服务,所以当程序中仅存在守护线程时,守护线程就没有存在的必要了,JVM会关闭剩下的守护线程并且推出该进程。

    二、用户线程(User Thread)

            所谓的用户线程就是我们平时建议的有着自己专门作用的线程,也就是非守护线程。我们常见的main方法也同样是用户线程的一员。

    public class DaemonThreadTest {
        public static void main(String[]args){
            Thread t = new Thread(
                    new Runnable() {
                        @Override
                        public void run() {
                            try {
                                while (true)
                                    System.out.println("这是守护线程");
                            }catch (Exception e){
                                e.printStackTrace();
                            }
                        }
                    }
            );
            //
            t.setDaemon(true);
            t.start();
            System.out.println(t.isAlive());
        }
    }

    通过这段代码的执行,我们可以发现守护线程只能为线程提供服务,无法做输入输出操作。

  • 相关阅读:
    扫雷游戏
    打地鼠Demo
    Game2048
    蛇形矩阵
    约瑟夫环
    二分法查找
    动态规划之防卫导弹
    动态规划之0-1背包问题
    回溯算法之火力网
    回溯算法之8皇后问题
  • 原文地址:https://www.cnblogs.com/qqwhsj/p/10637782.html
Copyright © 2011-2022 走看看