17 Punkte von xguru 2025-02-15 | 2 Kommentare | Auf WhatsApp teilen
  • Überblick über Virtual Threads
    • Was sind Virtual Threads (Loom-Projekt)?
    • Platform Threads vs. Virtual Threads – Blocking?
    • Funktionsweise von Platform Threads
    • Funktionsweise von Virtual Threads
  • Regeln & Best Practices
    • Regel 1 – Threads erstellen
    • Regel 2 – CompletableFuture nicht verwenden
    • Regel 2 – Virtual Threads verwenden
    • Regel 3 – Keinen Thread Pool verwenden
    • Regel 3 – newThreadPerTaskExecutor verwenden
    • Regel 4 – FixedThreadPool nicht für Concurrency verwenden
    • Regel 4 – Semaphore für Concurrency verwenden
    • Regel 5 – ScopedValue verwenden
    • Regel 6 – ReentranceLock statt synchronized verwenden
    • Regel 7 – Structured Concurrency umsetzen
    • Regel 8 – Virtual Threads testen
  • Spring Boot mit Virtual Threads
    • Spring Boot MVC mit Virtual Threads
    • Asynchrone Tasks in Spring Boot MVC
    • RestController mit Virtual Threads verwenden
  • Änderung von Legacy-Code
    • Virtual Threads in bestehenden Systemen anwenden

2 Kommentare

 
click 2025-02-15

In JDK 24 wurde synchronized so angepasst, dass es kein Pinning mehr verursacht, daher wird auch Regel 6 ungefähr ab dem nächsten LTS voraussichtlich nicht mehr nötig sein.

 
carnoxen 2025-02-15

Scoped Value und Structured Concurrency befinden sich noch im „Preview“-Stadium, daher dürfte es noch eine Weile dauern, bis Virtual Threads produktiv einsetzbar sind.