Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

Java 21 Virtual Threads

28. 05. 2020 Aktualizováno: 24. 03. 2026 1 min čtení intermediate
Tento článek byl publikován v roce 2020. Některé informace mohou být zastaralé.

Virtual threads v Java 21 umožňují miliony concurrent threads bez overhead platformních threadů.

Virtual threads

// Vytvoření virtual thread Thread.startVirtualThread(() -> { var result = fetchFromDB(); process(result); }); // ExecutorService s virtual threads try (var executor = Executors.newVirtualThreadPerTaskExecutor()) { List> futures = urls.stream() .map(url -> executor.submit(() -> fetch(url))) .toList(); for (var future : futures) { System.out.println(future.get()); } }

Spring Boot integrace

application.properties

spring.threads.virtual.enabled=true

Všechny request handlery běží na virtual threads!

Kdy použít

  • I/O-bound operace (HTTP, DB, file)
  • Vysoký počet concurrent requestů
  • NE pro CPU-bound operace
  • NE pro synchronized bloky (pinning)

Klíčový takeaway

Virtual threads = miliony concurrent threads. spring.threads.virtual.enabled=true a hotovo. Pozor na synchronized.

javavirtual threadsconcurrency
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.