每日一博 | Java 下一代高并发技术——虚拟线程 (Virtual Threads)
很多语言都有类似于“虚拟线程”的技术,比如Go、C#、Erlang、Lua等,他们称之为“协程”。 不管是虚拟线程还是协程,他们都是轻量级线程,其目的都是为了提高并发能力。 本节详细介绍Java平台的“虚拟线程”的技术——“JEP 425: Virtual Threads (Preview)”。 Java平台计划引入虚拟线程,可显著减少编写、维护和观察高吞吐量并发应用程序的工作量。“JEP 425: Virtual Threads (Preview)”目是一个预览性的API。 目标 使以简单的线程每请求风格编写的服务器应用程序能够以近乎最佳的硬件利用率进行扩展。 启用使用java.lang.Thread API的现有代码,以最小的更改采用虚拟线程。 使用现有的JDK工具,轻松地对虚拟线程进行故障排除、调试和分析。 非目标 目标不是删除线程的传统实现,也不是静默迁移现有应用程序以使用虚拟线程。 改变Java的基本并发模型并不是目标。 在Java语言或Java库中提供新的数据并行结构并不是目标。Stream API仍然是并行处理大型数据集的首选方式。 动机 近30年来,Java开发人员一直...