- 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
Dans JDK 24,
synchronizeda été modifié pour ne plus provoquer de pinning, donc la règle 6 ne sera probablement plus nécessaire d’ici la prochaine LTS.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.