Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Java 21 Virtual Threads

28. 05. 2020 1 Min. Lesezeit intermediate

Virtual Threads in Java 21 ermöglichen Millionen gleichzeitiger Threads ohne den Overhead von Plattform-Threads.

Virtual Threads

// Erstellen eines Virtual Thread Thread.startVirtualThread(() -> { var result = fetchFromDB(); process(result); }); // ExecutorService mit 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-Integration

application.properties

spring.threads.virtual.enabled=true

Alle Request-Handler laufen auf Virtual Threads!

Wann verwenden

  • I/O-gebundene Operationen (HTTP, DB, Dateien)
  • Hohe Anzahl gleichzeitiger Requests
  • NICHT für CPU-gebundene Operationen
  • NICHT für synchronized-Blöcke (Pinning)

Wichtigste Erkenntnis

Virtual Threads = Millionen gleichzeitiger Threads. spring.threads.virtual.enabled=true und fertig. Vorsicht mit synchronized.

javavirtual threadsconcurrency
Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.