博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线程--守护线程与非守护线程
阅读量:2049 次
发布时间:2019-04-28

本文共 1167 字,大约阅读时间需要 3 分钟。

多线程–守护线程与非守护线程

什么是守护线程?

非守护线程好理解,就是程序中前端运行的线程,我个人理解为常用于处理主动事务的线程。

守护线程:顾名思义,用来守护处理事务的线程。它主要运行在程序后端,最有代表的例子GC线程,就是守护线程。

守护线程的特点

  • 守护线程运行在程序后端,随着非守护线程的结束而结束。也就是说在程序中已经没有了被守护线程后守护线程就会被终止。可以理解为,程序中没有了被守护者,守护线程也将被终止。
  • 守护线程可以通过Thread中的setDaemon方法设置,但是必须要在start方法之前设置。
  • 守护线程尽量不应该去调用系统资源,如文件,数据库等。因为它随时可能中断。
实现守护线程,验证非守护线程结束时,守护线程也中断。
/** * Created by 一只会飞的猪 on 2021/3/8. */// 守护线程public class DaemonThread implements Runnable{    @Override    public void run() {        for (int i = 0; i <100000; i++) {              System.out.println(Thread.currentThread().getName()+"我是守护线程,我正在运行");        }    }}// 非守护线程class OtherThread implements Runnable{    @Override    public void run() {        for (int i = 0; i <10; i++) {            System.out.println(Thread.currentThread().getName()+"我是非守护线程,我正在运行");        }    }}class StartMain{    public static void main(String[] args) {           // 启动非守护线程           new Thread(new OtherThread()).start();           // 设置守护线程           Thread threaddaomon = new Thread(new DaemonThread());           threaddaomon.setDaemon(true);           // 启动线程            threaddaomon.start();    }

结果:

在这里插入图片描述
可以看出来,虽然我守护线程操作了100000次,但是在非守护线程结束后,守护线程并没有继续执行。

转载地址:http://cjhof.baihongyu.com/

你可能感兴趣的文章
(PAT 1154) Vertex Coloring (图的广度优先遍历)
查看>>
(PAT 1115) Counting Nodes in a BST (二叉查找树-统计指定层元素个数)
查看>>
(PAT 1143) Lowest Common Ancestor (二叉查找树的LCA)
查看>>
(PAT 1061) Dating (字符串处理)
查看>>
(PAT 1118) Birds in Forest (并查集)
查看>>
数据结构 拓扑排序
查看>>
(PAT 1040) Longest Symmetric String (DP-最长回文子串)
查看>>
(PAT 1145) Hashing - Average Search Time (哈希表冲突处理)
查看>>
(1129) Recommendation System 排序
查看>>
PAT1090 Highest Price in Supply Chain 树DFS
查看>>
(PAT 1096) Consecutive Factors (质因子分解)
查看>>
(PAT 1019) General Palindromic Number (进制转换)
查看>>
(PAT 1073) Scientific Notation (字符串模拟题)
查看>>
(PAT 1080) Graduate Admission (排序)
查看>>
Tree UVA - 548 (DFS+建立二叉树)
查看>>
Play on Words UVA - 10129 (欧拉路径)
查看>>
mininet+floodlight搭建sdn环境并创建简答topo
查看>>
(计蒜客) 取石子游戏 (gcd算法灵活运用)
查看>>
Prime Path POJ - 3126 (BFS,素数距离)
查看>>
Wireless Network POJ - 2236 (并查集)
查看>>