java 线程daemon 简单理解

2020-09-18  本文已影响0人  山间草夫

一句话总结, 线程创建默认是用户线程, 如果当setDaemon(true) 的时候, 将会变成守护线程, 守护线程会随着主线程的结束而结束


 
/**
 * setDaemon 微信下载的例子 假如有一个线程,随着主程序存在而存在,停止而停止
 */
public class Demo04 {
    public static void main(String[] args) {
        WeiXin weiXin = new WeiXin("微信");
        weiXin.setDaemon(false);
        System.out.println(weiXin.isDaemon());
        weiXin.start();
        for (int i = 0; i <= 100; i++) {
            System.out.println(Thread.currentThread().getName() + i);
        }
    }
}
 
class WeiXin extends Thread {
    public WeiXin(String name) {
        super(name);
    }
    @Override
    public void run() {
        while (true) {
            for (int i = 1; i <= 100; i++) {
                System.out.println("下载进度" + i + "%");
                if (i == 100) {
                    System.out.println("下载完成");
                }
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

路过点赞, 月入10w.

上一篇 下一篇

猜你喜欢

热点阅读