zoukankan      html  css  js  c++  java
  • JAVA多线程之守护线程

    守护线程:顾名思义,就是守护线程的线程;在JAVA线程分为 用户线程(User Thread)和守护线程(Daemon Thread) ;守护线程就是用来守护用户线程的。所以JVM中如果没有需要守护的线程了,守护线程也就没有存在的意义;守护线程最典型的应用就是 GC (垃圾回收器)。守护线程并非只有虚拟机内部提供,用户在编写程序时也可以自己设置守护线程

    一、设置守护线程

    由此可见JAVA中创建线程默认是User Thread ;

    setDaemon()方法必须在调用线程的start()方法之前调用

    二、守护线程的特点

    1、守护线程,在所有的的非守护线程(即用户线程)结束之后,程序就会结束,JVM退出,同时也就会杀死所有的守护线程。所以也就意味着,守护线程不适合去访问固有资源,比如文件,数据库。因为随时可能中断;守护线程会随着主程序的结束而结束,但是用户线程不会,或者说只要有一个用户线程未退出,进程就不会终止。

     2、默认情况下,程序员创建的线程是用户线程;用setDaemon(true)可以设置线程为后台线程;而用isDaemon( )可以判断一个线程是前台线程还是后台线程;main 线程是一个用户线程;jvm的垃圾回收器其实就是一个守护线程;

  • 相关阅读:
    调试D2JS
    PG 中 JSON 字段的应用
    面试----
    机器学习面试题
    闭包和装饰器
    scss-混合@mixin @include @function
    scss基本使用及操作函数
    常用的scss函数(mixin)
    二叉搜索树基本操作实现
    判断一棵树是否是二叉搜索树
  • 原文地址:https://www.cnblogs.com/jalja365/p/13955007.html
Copyright © 2011-2022 走看看