白话理解java多线程之setDaemon()方法

直接上例子:

package cn.yh.thread01;

/**
 * setDaemon 微信下载的例子 假如有一个线程,随着主程序存在而存在,停止而停止
 */
public class Demo04 {
	public static void main(String[] args) {
		WeiXin weiXin = new WeiXin("微信");
		weiXin.setDaemon(true);
		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();
				}
			}
		}
	}
}

结果:

true
main0
下载进度1%
main1
main2
main3
main4
main5
main6
main7
main8
main9
main10
main11
main12
main13
main14
main15
main16
main17
main18
main19
main20
main21
main22
main23
main24
main25
main26
main27
main28
main29
main30
main31
main32
main33
main34
main35
main36
main37
main38
main39
main40
main41
main42
main43
main44
main45
main46
main47
main48
main49
main50
main51
main52
main53
main54
main55
main56
main57
main58
main59
main60
main61
main62
main63
main64
main65
main66
main67
main68
main69
main70
main71
main72
main73
main74
main75
main76
main77
main78
main79
main80
main81
main82
main83
main84
main85
main86
main87
main88
main89
main90
main91
main92
main93
main94
main95
main96
main97
main98
main99
main100

主程序结束,守护线程也结束.

注意:setDarmon()方法在start()方法之前

你可能感兴趣的:(java框架)