Virtual Thread

Turkish equivalent: Sanal threadDomain: Java and JVM

A lightweight Java thread managed by the JVM so large numbers of blocking-style tasks can be scheduled over a smaller set of carrier threads.

Concurrency Model

Java virtual threads preserve the familiar thread-per-task programming model while making blocked tasks much cheaper than creating the same number of platform threads.

They improve concurrency for waiting-heavy workloads; they do not make CPU-bound code execute faster than the available processors.

Resource Boundary

Database connections, remote service capacity and memory remain finite. Replacing a bounded thread pool with unbounded virtual-thread admission can simply move the queue into HikariCP, the database or another dependency.

Modern Java also reduced important pinning cases, but blocking native/foreign behavior still requires measurement.

See High-Performance Java Data Systems.

Source

  • https://openjdk.org/jeps/444

Related technical publications

Publications whose title or summary directly references this concept.

Spring Boot

Advanced Spring Boot notes for the Spring Boot 4 and Spring Framework 7 generation, covering auto-configuration, dependency injection, MVC/REST, Jakarta Persistence, transactions, security, testing, HTTP clients, virtual threads, observability, Native Image, and production reliability.