"Java多线程共享模型之管程(上):主线程与守护线程"
版权申诉
133 浏览量
更新于2024-02-28
收藏 3.01MB DOC 举报
Java 多线程共享模型之管程是通过使用守护线程和主线程来实现线程之间的共享模型。在Java中,默认情况下,进程需要等待所有线程都运行结束,才会结束。而守护线程则是一种特殊的线程,只要其它非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束。这就实现了线程之间的共享模型。
在Java中,可以通过创建守护线程来实现这种共享模型。守护线程可以通过设置线程的setDaemon方法为true来创建。在下面的示例代码中,我们创建了一个守护线程t1,并在其中使用一个while循环来模拟一个长时间运行的任务。当主线程执行完毕后,即使守护线程的代码没有执行完,也会强制结束守护线程的运行。
```java
package Daemon;
import lombok.extern.slf4j.Slf4j;
@Slf4j(topic = “c.demo1”)
public class demo1 {
public static void main(String[] args) throws InterruptedException {
Thread t1 = new Thread(() -> {
while (true) {
if (Thread.currentThread().isInterrupted()) {
break;
}
// 模拟长时间运行的任务
;
});
t1.setDaemon(true); // 设置守护线程
t1.start(); // 启动守护线程
}
}
```
在这个示例中,我们通过创建一个守护线程t1,并通过setDaemon方法将其设置为守护线程。然后启动守护线程。当主线程执行完毕后,即使守护线程的代码没有执行完,也会强制结束守护线程的运行。这种方式可以很好地实现线程之间的共享模型,使得一些任务在主线程执行完毕后也能够继续执行。
总的来说,Java多线程共享模型之管程是通过使用守护线程和主线程来实现线程之间的共享模型。通过设置守护线程,可以实现在主线程执行完毕后,即使守护线程的代码没有执行完,也会强制结束守护线程的运行。这为线程之间的共享模型提供了一种有效的方式。
2020-04-16 上传
2023-12-27 上传
2023-08-15 上传
2021-10-06 上传
2019-05-31 上传
2017-11-08 上传
书博教育
- 粉丝: 1
- 资源: 2837
最新资源
- freemarker中文手册
- 关于公平的竞赛评卷系统的研究
- NS2实例,Tcl语法
- ArcDGis9.2 系列产品介绍及开发
- 基于工作流的信息管理系统研究
- php常用算法(doc)
- 展望系统辨识(Perspectives on System Identification, by Ljung, 2008)
- 2009年信息系统项目管理师考试大纲
- 网管手册:三十五例网络故障排除方法
- 中望CAD2008标准教程
- ajax实战中文版.pdf
- C++ Templates 全览.pdf
- 串口通信编程大全.pdf
- 史上最全电脑键盘每个键的作用
- JavaScript.DOM编程
- Microsoft Visio详尽教程.pdf