1. 前言
虚拟线程是一项已经开发多年的技术,Loom 项目已经工作了大约 10 年,为 Java 中的虚拟线程提供支持。终于,Java 21 引入了该概念的现成实现。
2. 为什么需要虚拟线程?
大多数业务应用程序都受 I/O 限制。与受处理器速度限制的 CPU 限制应用程序不同,I/O 限制应用程序受输入/输出操作(例如磁盘读写或网络通信)的限制。
2.1 磁盘,网络等IO的频繁阻塞
当我们使用 InputStream/OutputStream 访问文件系统时,当我们通过 JDBC 处理数据库时,或者使用 Spring Data 或 Hibernate