多线程之守护线程
发布日期: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秒