多线程之守护线程
发布日期:2022-04-11 08:52:46
浏览次数:12
分类:博客文章
本文共 1454 字,大约阅读时间需要 4 分钟。
Java中有两种线程,一种是用户线程,另一种是守护线程。
1、用户线程
用户线程是指用户自定义创建的线程,主线程停止,用户线程不会停止。
public class Demo4Daemon { public static void main(String[] args) { Thread thread = new Thread(new Runnable() { public void run() { for (int i = 0; i < 10; i++) { try { Thread.sleep(10); } catch (Exception e) { } System.out.println("子线程..." + i); } } }); thread.start(); for (int i = 0; i < 5; i++) { try { Thread.sleep(10); System.out.println("主线程" + i); } catch (Exception e) { } } System.out.println("主线程执行完毕!"); }}
结果如下:
主线程0子线程...0子线程...1主线程1主线程2子线程...2主线程3子线程...3主线程4子线程...4主线程执行完毕!子线程...5子线程...6子线程...7子线程...8子线程...9
2、守护线程
守护线程当进程不存在或主线程停止,守护线程也会被停止。
public class Demo4Daemon { public static void main(String[] args) { Thread thread = new Thread(new Runnable() { public void run() { for (int i = 0; i < 10; i++) { try { Thread.sleep(10); } catch (Exception e) { } System.out.println("子线程..." + i); } } }); // 设置线程为守护线程 thread.setDaemon(true); thread.start(); for (int i = 0; i < 5; i++) { try { Thread.sleep(10); System.out.println("主线程" + i); } catch (Exception e) { } } System.out.println("主线程执行完毕!"); }}
结果如下
主线程0子线程...0主线程1子线程...1主线程2子线程...2主线程3子线程...3子线程...4主线程4主线程执行完毕!
主线程停止,用户线程不会停止,如果我们想要实现主线程停止,用户线程也停止,那么我们可以将用户线程设置为守护线程,这样,主线程停止,用户线程也停止。
转载地址:https://www.cnblogs.com/zwh0910/p/15778844.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月17日 06时33分25秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
八皇后问题的解题思路
2019-04-26
动态规划问题
2019-04-26
python中全局变量与局部变量
2019-04-26
内存中堆和栈的区别,以及C语言中的内存模型
2019-04-26
两个单链表的求和,将矩阵元素全部对换
2019-04-26
KMP字符串匹配算法
2019-04-26
图算法:一种比线性表和树更复杂的数据结构
2019-04-26
网络安全工程师的初学路径
2019-04-26
离群点检测和新奇检测之离群点检测
2019-04-26
离群点检测和新奇检测之新奇检测
2019-04-26
几种常见的离群点检验方法
2019-04-26
学习前后端技术的建议
2019-04-26
javascript的介绍,变量let和var声明,变量作用域,解构赋值
2019-04-26
统一资源定位符URL
2019-04-26
HTTP keep-alive详解
2019-04-26
字符编码(python编码机制的过去和现在)
2019-04-26
python序列的高阶函数:map,reduce,filter,sorted
2019-04-26
python模块的定义,和模块的作用域
2019-04-26
面向对象,即class类,类的封装,属性的类别划分,
2019-04-26
面向对象的继承和多态,剖析对象的信息(获取相关信息),类属性和实例属性
2019-04-26