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的垃圾回收器其实就是一个守护线程;

  • 相关阅读:
    小议如何使用APPLY
    SQLServer复制(二)--事务代理作业
    T-SQL—理解CTEs
    jdbc与java.sql
    java设计模式之中介者模式
    fread函数和fwrite函数
    Linux多线程编程(不限Linux)
    poj 3320 技巧/尺取法 map标记
    poj 1260 dp
    HDU 4311 前缀和
  • 原文地址:https://www.cnblogs.com/jalja365/p/13955007.html
Copyright © 2011-2022 走看看