Java如何设置守护线程
时间: 2023-07-07 20:30:28 浏览: 60
在Java中,可以通过Thread类的setDaemon()方法来设置线程是否为守护线程,方法的语法如下:
```
public final void setDaemon(boolean on)
```
其中,on参数为true表示将线程设置为守护线程,为false则表示将线程设置为用户线程(非守护线程)。
需要注意的是,setDaemon()方法必须在start()方法之前调用,否则会抛出IllegalThreadStateException异常。
下面是一个设置守护线程的示例代码:
```
public class DaemonThreadExample {
public static void main(String[] args) {
Thread daemonThread = new Thread(() -> {
while (true) {
System.out.println("Daemon thread is running.");
}
});
daemonThread.setDaemon(true); // 设置为守护线程
daemonThread.start();
System.out.println("Main thread exits.");
}
}
```
在上面的代码中,创建了一个守护线程daemonThread,并通过setDaemon()方法将其设置为守护线程。然后,启动线程并输出一条消息,最后,主线程退出。由于守护线程的优先级比较低,因此在主线程退出后,守护线程也会随之退出。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)