码迷,mamicode.com
首页 > 编程语言 > 详细

JavaSE8基础 多线程setDaemon 守护线程

时间:2017-10-09 01:57:10      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:nbsp   感恩   基础   stat   getname   视频   thread   gen   mon   

礼悟:
           好好学习多思考,尊师重道存感恩。叶见寻根三返一,活水清源藏于零。
           虚怀若谷良心主,皓月当空自在王。愿给最苦行无悔,诚劝且行且珍惜。



 

    os :windows7 x64
    jdk:jdk-8u131-windows-x64
    ide:Eclipse Oxygen Release (4.7.0)

 

Thread的子类:

package jizuiku2;

import java.util.Date;

/*
 * @version V17.09
 */
public class MyThread extends Thread {

	// 具体的循环次数
	private int num;

	public MyThread(int num) {
		// TODO Auto-generated constructor stub
		this.num = num;
	}

	@Override
	public void run() {
		// TODO Auto-generated method stub
		super.run();
		
		// new Date().getTime() 从标准0时刻到现在 毫秒值的累计
		for (int i = 0; i < this.num; ++i) {
			System.out.println(getName() + " " + i + " " + new Date().getTime());
		}
	}

}

 
测试类:

package jizuiku2;

/*
 * @version V17.09
 */
public class SHDemo {
	public static void main(String[] args) {
		
		MyThread zhu_mt50 = new MyThread(50);
		MyThread sh_mt100 = new MyThread(50);
		MyThread sh_mt200 = new MyThread(50);
		
		// 设置下面两个线程为守护线程
		sh_mt100.setDaemon(true);
		sh_mt200.setDaemon(true);
		
		zhu_mt50.setName("非守护");
		
		// 当运行的唯一线程都是守护进程线程时,Java虚拟机将退出。 
		// main所在的线程和zhu_mt50不是守护进程
		zhu_mt50.start();
		sh_mt100.start();
		sh_mt200.start();
		
		for (int i = 0; i < 500; i++) {
			System.out.println(i);
		}
		System.out.println("main所在的线程结束");
	}
}

 
结果:    
  当被守护的main线程结束时
技术分享

 

  守护线程也紧跟着结束
技术分享

 

   非守护线程运行到了最后

技术分享

 

API:

技术分享

 

在视频教程中,风清扬老师用一张图 生动形象的解释了 守护线程

技术分享

  很有趣。

 


Java优秀,值得学习。
学习资源:itcast和itheima视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。

JavaSE8基础 多线程setDaemon 守护线程

标签:nbsp   感恩   基础   stat   getname   视频   thread   gen   mon   

原文地址:http://www.cnblogs.com/jizuiku/p/7639276.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!