Java 线程 setDaemon() 方法

2025 年 3 月 21 日 | 阅读 2 分钟

线程类的 setDaemon() 方法用于将线程标记为守护线程或用户线程。它的生命周期依赖于用户线程,也就是说,当所有用户线程都结束时,JVM 会自动终止该线程。该方法必须在线程启动之前调用。

如果在线程启动后调用 setDaemon() 方法,该方法将抛出 IllegalThreadStateException

语法

参数

on: 如果为 true,则将线程标记为守护线程。

返回

如果线程是守护线程,则此方法返回 true,否则返回 false。

Exception

IllegalThreadStateException: 如果线程正在运行。

SecurityException: 如果当前线程无法修改该线程。

示例 1

输出

daemon thread work
daemon thread work
user thread work

示例 2

在线程启动后调用 setDaemon() 方法。

输出

Name of thread: Thread-0
Daemon: false
Exception in thread "main" java.lang.IllegalThreadStateException
	at java.lang.Thread.setDaemon(Thread.java:1359)
	at JavaSetDaemonExp2.main(JavaSetDaemonExp2.java:17)
 
下一主题Java 多线程