Java守护线程的示例
下文笔者讲述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++;
}
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


