Java SE守护线程
CAMELLIA!!! note 目录
守护线程
守护线程(Daemon Thread)是 Java 中的一种特殊线程,其主要用于后台服务,如垃圾回收器等。
与用户线程不同,当所有用户线程都结束时,守护线程会自动终止。
守护线程的存在并不会阻止 JVM 退出。守护线程的生命周期依赖于用户线程,只有在所有用户线程都结束时,JVM 才会终止守护线程。
一、创建守护线程
- 创建线程对象:可以通过继承
Thread
类或实现 Runnable
接口来创建线程对象。
- 将线程设置为守护线程:使用
Thread
类的 setDaemon(true)
方法将线程设置为守护线程。必须在启动线程之前调用此方法,否则会抛出 IllegalThreadStateException
异常。
- 启动线程:调用
start()
方法启动线程。
二、示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| package com.camellia.thread.DaemonThread;
public class DaemonThreadTest { public static void main(String[] args) { MyThread myThread = new MyThread(); myThread.setDaemon(true); myThread.start();
for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName() + "===>" + i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
class MyThread extends Thread {
@Override public void run() { int i = 0; while (true) { System.out.println(Thread.currentThread().getName() + "\t" + (++i)); } } }
|