Java(三)并发控制14.后台线程

class DaemonThread extends Thread
{
	public void run()
	{
		for(int i=0;i<50;i++)
		{
			System.out.println(super.getName()+"-"+super.isDaemon());
		}
	}
}
public class DamonDemo {
	public static void main(String[] args)
	{
		System.out.println(Thread.currentThread().isDaemon());
		for(int i=0;i<50;i++)
		{
			System.out.println("main"+i);
			if(i==10)
			{
				DaemonThread t=new DaemonThread();
				t.setDaemon(true);
				t.start();
			}
		}
	}
}

创建线程后用setDaemon将线程设置为后台,必须先设置后开启不然会报错在这里插入图片描述
可以发现,后台线程和主线程一起运行,当主线程运行完时
在这里插入图片描述
明明设置后台线程输出500次,它却到22次就停下了,因为这时主线程已经执行完了,后台线程边反应边又执行了几毫秒就停下了,理论上当所有前台线程关闭时,后台线程必须关闭

猜你喜欢

转载自blog.csdn.net/qq_37282683/article/details/82912996
今日推荐