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++; } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。