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

相关推荐
lkbhua莱克瓦2419 小时前
Java练习——正则表达式2
java·开发语言·笔记·正则表达式·github·学习方法
鬼火儿19 小时前
MySQL系列之数据类型(String)
java·后端
江湖人称小鱼哥19 小时前
Jenkins 在构建 Java 项目并操作 Docker 时 CPU 会突然飙高
java·docker·jenkins
程序新视界20 小时前
MySQL的隔离级别及其工作原理详解
数据库·后端·mysql
Violet_YSWY20 小时前
Iterable<Result<Item>>讲一下
java
懒羊羊不懒@20 小时前
JavaSe—List集合系列
java·开发语言·数据结构·人工智能·windows
IT_陈寒20 小时前
Redis 7.0的这个新特性让我处理百万级QPS轻松了50%,你可能还不知道!
前端·人工智能·后端
蓝-萧20 小时前
【Java】如何使用jdbc连接并操作MySQL,一文读
java·后端
qianbailiulimeng20 小时前
【MySQL】mysqldump使用方法
java·后端
Victor35620 小时前
Redis(102)Redis的单线程性能为什么这么高?
后端