Sobes.tech
Senior

How do Virtual Threads work?

sobes.tech AI

Answer from AI

Virtual Threads — these are lightweight threads introduced in Java to simplify parallelism and improve application scalability.

Unlike traditional OS threads, virtual threads are managed by the JVM and are not directly tied to system threads. This allows creating thousands or even millions of virtual threads with low overhead.

Main features:

  • Lightweight: virtual threads consume much less memory and resources.
  • Parallelism: enable efficient use of multithreading without management complexities.
  • Support for blocking code: virtual threads can block without blocking system threads, as the JVM switches them to other tasks.

Example of creating a virtual thread (Java 19+):

Thread.startVirtualThread(() -> {
    System.out.println("Virtual thread is running");
});

Or via Executor:

ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor();
executor.submit(() -> {
    // task code
});
executor.shutdown();

Thus, Virtual Threads simplify writing concurrent code, making it more scalable and efficient.

How do Virtual Threads work? — Java - sobes.tech