Java守护线程的示例

书欣 Java经验 发布时间:2023-01-22 20:50:26 阅读数:15243 1
下文笔者讲述java守护线程的简介说明,如下所示

守护线程简介

在程序运行的时候
   在后台提供一种通用服务的线程
 如:
   垃圾回收线程就是一个很称职的守护者
   且这种线程并不属于程序中不可或缺的部分
 因此,当所有的非守护线程结束时
   程序也就终止
   同时会杀死进程中的所有守护线程
反过来说
   只要任何非守护线程还在运行,程序就不会终止
例:守护线程的示例
package com.thread3;

public class ThreadDaemon2 {
	public static void main(String[] args) {
		//获取当前线程(即主线程)的名称
		String threadName = Thread.currentThread().getName();
		//判断当前线程(即主线程)是否为守护线程
		boolean isDaemon = Thread.currentThread().isDaemon();
		System.out.println(threadName+"是守护线程么?"+isDaemon);
		//创建子线程
		MyRunnableImpl myRunnableImpl=new MyRunnableImpl();
		Thread daemonThread=new Thread(myRunnableImpl, "守护线程");
		//判断子线程是否为守护线程
		isDaemon = daemonThread.isDaemon();
		System.out.println("新创建的子线程是守护线程么?"+isDaemon);
		//设置子线程为守护线程
		daemonThread.setDaemon(true);
		//再次判断子线程是否为守护线程
		isDaemon = daemonThread.isDaemon();
		System.out.println("新创建的子线程是守护线程么?"+isDaemon);
		//开启子线程
		daemonThread.start();
		//模拟主线程执行任务
		for(int i=0;i<10;i++) {
			System.out.println(threadName+",i="+i);
		}	
	}
}
 
//子线程
class MyRunnableImpl implements Runnable{
	@Override
	public void run() {
		String threadName = Thread.currentThread().getName();
		int i=0;
		//模拟子线程执行任务
		while(true) {
			System.out.println(threadName+",i="+i);
			i++;
		}
	}
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202301/16743918665493.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者