守护线程与线程中断区别_守护线程和主线程

守护线程与线程中断区别_守护线程和主线程1、主线程结束,守护线程也会提前结束执行。publicclassThreadDemo1extendsThread{ publicThreadDemo1(Stringname){ super(name); } @Override publicvoidrun(){ while(true){ System.err.println(getName()…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1、主线程结束,守护线程也会提前结束执行。


public class ThreadDemo1 extends Thread{
	
	public ThreadDemo1(String name){
		super(name);
	}

	@Override
	public void run() {
		while(true){
			System.err.println(getName() + "线程运行了。。。");
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void main(String[] args) {
		Thread t1 = new ThreadDemo1("线程一");
		Thread t2 = new ThreadDemo1("线程二");
		//设置为守护线程
		t1.setDaemon(true);
		t2.setDaemon(true);
		//启动线程
		t1.start();
		t2.start();
		//主线程2s后退出
		try {
			Thread.sleep(2000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
	
	
}

主线程2s后退出后,守护线程也会提前结束。

2、中断线程


public class ThreadDemo1 extends Thread{
	
	public ThreadDemo1(String name){
		super(name);
	}

	@Override
	public void run() {
		while(!interrupted()){//中断状态判断
			System.err.println(getName() + "线程运行了。。。");
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void main(String[] args) {
		ThreadDemo1 t1 = new ThreadDemo1("线程一");
		ThreadDemo1 t2 = new ThreadDemo1("线程二");
		//启动线程
		t1.start();
		t2.start();
		t1.interrupt();
	}
	
	
}

关于中断线程,调用interrupt()不会让线程立即中断,只是线程的中断状态发生变化,系统会在后续中断该线程。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183446.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 置顶

    置顶

  • c语言socket 释放,C语言socket编程

    c语言socket 释放,C语言socket编程8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?[codelanguage=”cpp”]structsockaddr{unsignedshortsa_family;charsa_data[14];};[/code]这是一个16字节大小的结构(2+14),sa_family可以认为是socketaddressfamily的缩写,也可能被简写成AF…

  • Filter体现职责链模式

    Filter体现职责链模式

  • oracle数据库用户更改密码_oracle用户密码忘记了

    oracle数据库用户更改密码_oracle用户密码忘记了我用的另一种方法,在dbeaver中打开sql编辑器,密令和下面所说一致1.WIN+R打开运行窗口,输入cmd进入命令行:输入sqlplus,输入用户名,输入口令(如果是超级管理员SYS的话需在口令之后加上assysdba)进入sql命令行;连接成功后,输入“selectusernamefromdba_users”查看用户列表。3.若修改某一个用户密码,修改用户口令格式为:alteruser用户名identifiedby新密码;4.以apps为例,密码修改为

  • nginx根据url转发_nginx根据域名转发原理

    nginx根据url转发_nginx根据域名转发原理环境:centos:CentOSLinuxrelease7.6.1810(Core)nginx:1.15.8场景:在/home/centos/www下放有我们的项目,目前只能通过https://xxx.com/xxx访问项目,而我们想通过https://xxx.com/就能访问我们的项目。nginx配置如下:location/xxx{root/home/cen…

    2022年10月19日
  • css中visiblity和display异同

    visiblity是设置元素的可见性,即可见/隐藏;隐藏后元素所占有位置保留;display是设置元素按什么样的方式来显示,是按块显示,显示成一条线的形式,显示为“消失”等等,当display

    2021年12月21日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号