17 pontos por xguru 2025-02-15 | 2 comentários | Compartilhar no WhatsApp
  • Visão geral de Virtual Threads
    • O que são Virtual Threads (projeto Loom)
    • Platform Threads vs Virtual Threads - Blocking?
    • Como funcionam as Platform Threads
    • Como funcionam as Virtual Threads
  • Regras e boas práticas
    • Regra 1 - Criar Threads
    • Regra 2 - Não usar CompletableFuture
    • Regra 2 - Usar Virtual Threads
    • Regra 3 - Não usar Thread Pool
    • Regra 3 - Usar newThreadPerTaskExecutor
    • Regra 4 - Não usar FixedThreadPool para concorrência
    • Regra 4 - Usar Semaphore para concorrência
    • Regra 5 - Usar ScopedValue
    • Regra 6 - Usar ReentranceLock em vez de synchronized
    • Regra 7 - Fazer Structured Concurrency
    • Regra 8 - Testar Virtual Threads
  • Spring Boot com Virtual Threads
    • Spring Boot MVC com Virtual Threads
    • Tarefas assíncronas no Spring Boot MVC
    • RestController usando Virtual Threads
  • Alteração de código legado
    • Aplicando Virtual Threads em sistemas existentes

2 comentários

 
click 2025-02-15

No JDK 24, o synchronized foi corrigido para não causar mais pinning, então a regra 6 provavelmente também não será necessária por volta do próximo LTS.

 
carnoxen 2025-02-15

Como Scoped Value e Structured Concurrency ainda estão na fase de "prévia", parece que vai demorar um pouco até que as Virtual Threads cheguem ao uso comercial.