JDK25中的StructuredTaskScope

前言

在稳定版JDK25中,还是第五次预览了结构化并发(JEP 505)StructuredTaskScope,但是在JDK25中,有着些许调整

结构化并发

JDK25中,StructuredTaskScope新增了StructuredTaskScope.open()方法,用于实例化StructuredTaskScope

csharp 复制代码
public class StructuredExample {
    static String fetchUser() {
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        }
        return "hello";
    }

    static String fetchOrder() {
        try {
            Thread.sleep(1500);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        }
        return "world";
    }

    public static void main(String[] args) throws Exception {
        try (var scope = StructuredTaskScope.<String>open()) {
            var userTask = scope.fork(() -> fetchUser());
            var orderTask = scope.fork(() -> fetchOrder());

            scope.join();

            System.out.println(userTask.get() + " - " + orderTask.get());
        }
    }
}

输出结果为

总结

StructuredTaskScopeJDK25中,目前还是预览状态,但是要先使用该语法,可以尝试,结构化并发帮助管理逻辑关联的多个并发任务,可以提高程序的可靠性

相关推荐
程序之巅1 天前
VS code 远程python代码debug
android·java·python
心在飞扬1 天前
langchain学习总结:Python + OpenAI 原生 SDK 实现记忆功能
后端
张志鹏PHP全栈1 天前
Solidity智能合约快速入门
后端
ihgry1 天前
SpringCloud_Nacos
后端
我是Superman丶1 天前
【异常】Spring Ai Alibaba 流式输出卡住无响应的问题
java·后端·spring
墨雨晨曦881 天前
Nacos
java
invicinble1 天前
seata的认识与实际开发要做的事情
java
Delroy1 天前
一个不懂MCP的开发使用vibe coding开发一个MCP
前端·后端·vibecoding
乌日尼乐1 天前
【Java基础整理】Java多线程
java·后端
2501_941870561 天前
从配置频繁变动到动态配置体系落地的互联网系统工程实践随笔与多语言语法思考
java·前端·python