- Resumen de Virtual Threads
- Qué son Virtual Threads (proyecto Loom)
- Platform Threads vs Virtual Threads - ¿Blocking?
- Cómo funcionan Platform Threads
- Cómo funcionan Virtual Threads
- Reglas y mejores prácticas
- Regla 1 - Crear Threads
- Regla 2 - No usar CompletableFuture
- Regla 2 - Sí usar Virtual Threads
- Regla 3 - No usar Thread Pool
- Regla 3 - Sí usar newThreadPerTaskExecutor
- Regla 4 - No usar FixedThreadPool para concurrencia
- Regla 4 - Sí usar Semaphore para concurrencia
- Regla 5 - Sí usar ScopedValue
- Regla 6 - Sí usar ReentranceLock en lugar de synchronized
- Regla 7 - Usar Structured Concurrency
- Regla 8 - Probar Virtual Threads
- Spring Boot con Virtual Threads
- Spring Boot MVC con Virtual Threads
- Tareas asíncronas de Spring Boot MVC
- RestController usa Virtual Threads
- Cambios en código legado
- Aplicar Virtual Threads a sistemas existentes
2 comentarios
En JDK 24 se corrigió para que
synchronizedya no provoque pinning, así que probablemente la regla 6 tampoco será necesaria para el próximo LTS.Scoped Value y Structured Concurrency todavía están en etapa de "vista previa", así que parece que pasará bastante tiempo antes de que los Virtual Threads se adopten en producción.