Java daemon thread example

package com.thread3;
/**
 * 本文作者:谷哥的小弟 
 * 博客地址:http://blog.csdn.net/lfdfhl
 */
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++;
		}
	}
	
}

 

Released 1022 original articles · won praise 1986 · Views 2.38 million +

Guess you like

Origin blog.csdn.net/lfdfhl/article/details/6173907