在java线程中有两种线程,一种是用户线程,另一种是守护线程。守护线程是一种特殊的线程,当进程中不存在非守护线程了,则守护线程自动销毁。今天我们通过实例来学习一下java中关于守护线程的知识。
java中守护线程的例子
一、java中守护线程的简单使用
package com.linux.thread; import java.util.concurrent.TimeUnit; public class MyThread extends Thread { private int i = 0; @Override public void run() { try { while (true) { i++; System.out.println("i = " + i); TimeUnit.SECONDS.sleep(1); } } catch (InterruptedException e) { e.printStackTrace(); } } }
测试的主体类的内容如下:
package com.linux.thread; import java.util.concurrent.TimeUnit; public class MyThreadRun { public static void main(String[] args) { try { MyThread thread = new MyThread(); thread.setDaemon(true); thread.start(); TimeUnit.SECONDS.sleep(5); System.out.println("Liberty consists in doing what one desires."); // 当主线程执行这完毕,守护线程就停止执行。 } catch (InterruptedException e) { e.printStackTrace(); } } }
一次的运行结果如下:
i = 1 i = 2 i = 3 i = 4 i = 5 Liberty consists in doing what one desires.
当主线程执行完毕被销毁之后(所有的非守护线程执行完成之后),所有的守护线程被自动销毁。
友情链接
时间: 2024-10-19 11:07:14