【java多线程与并发库】---传统java多线程<3> .

系统 1673 0

1、 java中用两种线程:

1 守护线程

守护线程 (Daemon) 是比较特殊的一种低级别线程,一般被用于在后台为其它线程提供服务。比如当用户编写 Word 文档时,不断进行拼写检查的线程就是个守护线程,它不会影响用户编辑文件。典型的守护线程例子是 JVM 中的系统资源自动回收线程,它始终在低级别的状态中运行,不需要占用大量的系统资源,多用于实时监控和管理系统中的可回收资源。

可以通过调用方法 isDaemon() 来判断一个线程是否是守护线程,而将一个用户线程设置为守护线程的方法是在线程对象创建之前调用线程对象的 setDaemon(boolean on) 方法。 true 为守护线程, false 为用户线程。

    public class Daemons extends Thread {

	public Daemons(){
		this.setDaemon(true);//设置线程为守护线程
		/*setDaemon必须在线程启动之前调用,当线程运行时调用会发生异常
		如果要在一个守护线程中产生其他线程,那么新产生的线程都是守护线程
		 */
		this.start();
	}
		public void run(){
			while(true){
				System.out.println("daemon "+Thread.currentThread().getName()+" is running");
				try {
					sleep(500);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i=0;i<5;i++){
			new Daemons();
		}
	}

}

  


运行结果:

【java多线程与并发库】---传统java多线程<3> .线程分类

2) 用户线程

守护线程和普通线程的区别就在于守护线程不是应用程序的核心部分。当一个应用程序的所有非守护线程终止运行时,及时仍然有守护线程运行,应用程序也将终止。反之,只要有一个非守护线程运行,应用程序就不会终止。

【java多线程与并发库】---传统java多线程<3> .线程分类


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论