Java 并发可能会变得更容易

位置:首页>文章>详情   分类: Java教程 > 编程技术   阅读(411)   2023-06-26 07:54:18

根据目前在 OpenJDK 社区中孵化的计划,多线程编程对于 Java 开发人员来说可能会变得更容易。

结构化并提出建议 将引入一个库,该库将在不同线程中运行的多个任务视为一个工作单元。根据提案,新库将简化错误处理和取消,提高可靠性并增强可观察性。该计划的目标包括提高多线程代码的可靠性和可观察性,并促进并发编程风格,以消除因取消和关闭而引起的常见风险,例如线程泄漏和取消延迟。在这一点上,结构化并发建议并不针对特定版本的 Java。

该提案指出,结构化并发是一种多线程编程方法,它保留了开发人员使用单线程代码时的可读性和可维护性。它遵循的原则是,如果一个任务拆分成并发的子任务,它们都会返回同一个地方:任务的代码块。通过返回同一个代码块,并发子任务的生命周期被限制在一个句法块中。因为兄弟子任务被限制在同一个块中,所以它们可以作为一个单元进行推理和管理。子任务代表一个任务——封闭块中的代码——等待结果并监控它们是否失败。与单线程代码的结构化编程技术一样,多线程结构化并发的强大功能来自两个想法:通过代码块为执行流定义明确的入口点和出口点,以及将操作的生命周期严格嵌套在一种反映代码中嵌套的方式。

在运行时,结构化并发构建了一个树形的任务层次结构,同级子任务由同一个父任务拥有。该树是单个线程调用堆栈的并发对应物。

结构化并发匹配虚拟线程,是JDK提供的轻量级线程实现。计划于今年 9 月为 Java 19 提供虚拟线程预览。许多虚拟线程共享同一个操作系统线程,允许大量的虚拟线程。这些可以表示一个并发的行为单元,甚至是 I/O 行为。因此,服务器应用程序可以使用结构化并发来同时处理数千或数百万个传入请求。

本质上,虚拟线程提供了丰富的线程和结构化并发确保它们正确协调。在 JDK 中拥有用于结构化并发的库为服务器端开发人员提供了可维护性和可靠性。

该提议不涉及替换 java.util.concurrent 中的并发构造或为 Java 提供明确的结构化并发 API。该提案也不打算添加在线程之间共享数据流的机制,尽管这可能会在未来得到解决。根据当前提案,现有的线程中断机制不会被新的线程取消机制所取代,但这也可能在未来发生。

地址:https://www.cundage.com/article/3661310-java-concurrency-could-be-about-to-get-easier.html

相关阅读

基础设施即代码 vendor 缅甸语 is adding support for 爪哇 and YAML, as it looks to allow software developers to...
Java Development Kit (JDK) 是 Java 编程中使用的三个核心技术包之一,另外两个是 JVM(Java 虚拟机)和 JRE(Java 运行时环境)。区分这三种技术并了解...
Apache Pulsar 是一个开源分布式发布-订阅消息传递系统,最初由 Yahoo 创建,是 Apache Software Foundation 的一部分。
尽管 Java 8 已经问世近八年了,但在 Perforce Software 公司最近的一项调查中,它仍然是用户中最常用的 Java 版本。然而,调查发现,许多商店计划升级到更新得多的 Jav...
史蒂文格兰尚 is a longtime software executive, with leadership experience at Microsoft, OpenLogic, and ...
当应用程序开发人员或架构师的任务是探索容器化应用程序提供的可能性时,没有什么比红帽容器开发套件 (CDK) 更容易了。 Red Hat CDK 拥有本地 OSX、Linux 或 Windows ...
Jakarta EE 10, the latest version of the Eclipse Foundation 的企业 Java 平台, arrives today, emphasizi...
JetBrains has launched the Qodana code quality monitoring platform. Qodana integrates with the Je...
Java 20 或 Java Development Kit (JDK) 20 是标准 Java 的下一个计划版本,现已功能齐全。正式标记为发布的六个功能处于孵化或预览阶段。这些包括作用域值、记...
Despite the 对软件工程专业人员的不懈需求 before and throughout the global pandemic, entry-level and college-gra...