java守护线程

java的守护线程会在全部非守护线程执行结束后,自动结束。声明一个线程为守护线程,只需要调用Thread类的setDaemon(boolean )方法,令它的daemon字段值为true即可。

样例代码:

import java.util.*;
public class DaemonThread{
	public static void main(String[] args){
		new KTVRoom("No1", 3000).start();
		new KTVRoom("No2", 5000).start();
		new KTVRoom("No3", 2000).start();
		new WaiterDaemon().start();
	}
}
class KTVRoom extends Thread{
	private String roomNo;
	private int time;
	public KTVRoom(String roomNo, int time){
		this.roomNo = roomNo;//房间名
		this.time = time;//花费时间
	}
	public void run(){
		System.out.printf("%s is using!\r\n", roomNo);
		try{
			Thread.sleep(time);
		}catch(InterruptedException e){
			e.printStackTrace();
		}
		System.out.printf("%s is billing,it takes %d ms\r\n", roomNo, time);
	}
	
}
class WaiterDaemon extends Thread{//这是一个持续报时的线程
	public WaiterDaemon(){
		this.setDaemon(true);//声明该线程为守护线程
	}
	public void run(){
		while(true){
			System.out.println(new Date());
			try{
				Thread.sleep(1000);
			} catch(InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}

执行结果:

守护线程在其他线程执行完毕后自动结束了

题外话:

刚从官网下的jdk11,发现新版可以直接利用 java 文件名 的方式来执行java文件了呀。最最最重要的是没有见到生成.class文件(可能是生成了临时的吧。我感觉应该会生成.class文件)。不过,跟以前一样先javac命令生成.class文件,再用java执行也是没问题的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值