JEP 444:针对 Java 21 的虚拟线程

原文约3700字,阅读约需9分钟。发表于:

将虚拟线程引入Java 平台。虚拟线程是轻量级线程,可显着减少编写、维护和观察高吞吐量并发应用程序的工作量。 目标 使以简单的每个请求一个线程的方式编写的服务器应用程序能够随着接近最佳的硬件利用率进行扩展。 使使用java.lang.ThreadAPI 的现有代码能够以最小的更改采用虚拟线程。 使用现有的 JDK 工具轻松地对虚拟线程进行故障排除、调试和分析。 近三十年来,Java 开发人员一直依赖线程作为并发服务器应用程序的构建块。每个方法中的每个语句都在线程内执行,并且由于 Java 是多线程的,因此多个执行线程同时发生。 thread-per-request 风..

本文介绍了如何使用虚拟线程提高服务器应用程序的可扩展性,虚拟线程是一种轻量级线程,可以显着减少编写、维护和观察高吞吐量并发应用程序的工作量。虚拟线程可以保留每个请求线程的风格,同时与平台保持和谐。虚拟线程可以在请求的整个持续时间内在虚拟线程中运行,但虚拟线程仅在它在 CPU 上执行计算时使用操作系统线程。虚拟线程既便宜又充足,因此永远不应该被池化。虚拟线程可以运行平台线程可以运行的任何代码,支持线程局部变量和线程中断。虚拟线程可以显着提高应用程序吞吐量,但需要注意内存使用和与垃圾收集的交互。

JEP 444:针对 Java 21 的虚拟线程
相关推荐 去reddit讨论