27得票3回答
项目织物:使用虚拟线程时如何提高性能?

为了提供一些背景信息,我已经关注Project Loom有一段时间了。我阅读过Loom的现状,并且已经进行了异步编程。 Java NIO提供的异步编程会在任务等待时将线程返回到线程池,并尽力避免阻塞线程。这带来了很大的性能提升,我们现在可以处理更多的请求,因为它们不直接受操作系统线程数量的限制...

21得票4回答
什么使得Java虚拟线程更优秀

我对Project Loom感到非常兴奋,但有一件事我无法完全理解。 大多数Java服务器使用线程池,并设定了线程数量限制(200、300...),然而,你并不受操作系统的限制,可以生成更多的线程。我读过,在Linux上通过特殊配置可以达到巨大的数字。 操作系统线程更加昂贵,它们启动/停止的速...

18得票1回答
Java 21内置的HTTP客户端将载体线程固定住。

我正在使用Java Corretto 21.0.0.35.1 build 21+35-LTS,以及内置的Java HTTP客户端来获取响应作为InputStream。我正在使用虚拟线程进行并行请求,大部分情况下都运行良好。然而,偶尔在我的测试中会遇到一个"固定"事件,如下面的堆栈跟踪所示。 ...

16得票1回答
使用虚拟线程(Project Loom)与Spring WebFlux/Reactor/Reactive库。

Java虚拟线程 在Java 19中引入了虚拟线程JEP-425作为预览功能。 在对Java虚拟线程(项目Loom)的概念进行一些调查后,有时被称为轻量级线程(或有时称为纤程或绿色线程),我对它们与反应式库的潜在用途非常感兴趣,例如基于Project Reactor(反应式流实现)和Net...

16得票3回答
项目织布机,当虚拟线程进行阻塞系统调用时会发生什么?

我正在调查Project Loom的工作原理以及它能为我的公司带来什么样的好处。 因此,我了解到对于标准的基于servlet的后端,总是有一个线程池执行业务逻辑,一旦线程由于IO而被阻塞,它就无法执行任何操作,只能等待。假设我有一个后端应用程序,其中只有一个端点,这个端点背后的业务逻辑是使用...

11得票3回答
如何在结构化并发下运行JDK 19?

我已经编辑了内容,以便使它与原始帖子保持最新状态。我想尝试新的Project Loom功能,该功能定义在:JEP 428: Structured Concurrency (Incubator)我的pom.xml文件中已经有了这个功能。<properties> <maven...