Java could get virtual threads

Posted on : 11/25/2021

Virtual threads are being proposed for Java, in an effort to dramatically reduce the effort required to write, maintain, and observe high-throughput concurrent applications.

A draft JDK Enhancement Proposal (JEP) from Oracle, filed this week, calls for a preview of virtual threads as part of the standard edition of Java. Virtual threads would supplement Java’s platform threads, which represent operating system threads, with a lightweight user-mode thread implementation that would make more efficient use of available hardware, with dramatically reduced costs.

Threads, the proposal notes, are useful for representing a unit of concurrency, such as a transaction. Java’s current implementation of Thread consumes an OS thread for each Java thread, and OS threads are scarce and costly. A modern server can handle orders of magnitude more concurrent transactions than OS threads.