Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
Pojďme to probrat

Java 21 Virtual Threads

28. 05. 2020 1 min čtení intermediate

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.