17 points par xguru 2025-02-15 | 2 commentaires | Partager sur WhatsApp
  • Vue d’ensemble des Virtual Threads
    • Que sont les Virtual Threads (projet Loom)
    • Platform Threads vs Virtual Threads - blocage ?
    • Fonctionnement des Platform Threads
    • Fonctionnement des Virtual Threads
  • Règles et bonnes pratiques
    • Règle 1 - Créer des threads
    • Règle 2 - Ne pas utiliser CompletableFuture
    • Règle 2 - Utiliser les Virtual Threads
    • Règle 3 - Ne pas utiliser de pool de threads
    • Règle 3 - Utiliser newThreadPerTaskExecutor
    • Règle 4 - Ne pas utiliser FixedThreadPool pour la concurrence
    • Règle 4 - Utiliser Semaphore pour la concurrence
    • Règle 5 - Utiliser ScopedValue
    • Règle 6 - Utiliser ReentranceLock au lieu de synchronized
    • Règle 7 - Mettre en œuvre la concurrence structurée
    • Règle 8 - Tester les Virtual Threads
  • Spring Boot avec les Virtual Threads
    • Spring Boot MVC avec les Virtual Threads
    • Tâches asynchrones Spring Boot MVC
    • RestController utilise les Virtual Threads
  • Modification du code legacy
    • Appliquer les Virtual Threads à un système existant

2 commentaires

 
click 2025-02-15

Dans JDK 24, synchronized a été modifié pour ne plus provoquer de pinning, donc la règle 6 ne sera probablement plus nécessaire d’ici la prochaine LTS.

 
carnoxen 2025-02-15

Scoped Value et Structured Concurrency sont encore au stade de « préversion », donc il semble qu’il faudra encore attendre un certain temps avant que les Virtual Threads soient prêts pour un usage en production.