This content originally appeared on DEV Community and was authored by Java Efetivo (livro)
As threads virtuais são um recurso introduzido no Java 19 como parte do projeto Loom. Elas são leves e otimizadas, permitindo uma abordagem mais eficiente para programação concorrente.
1. O que são Threads Virtuais?
- Threads implementadas inteiramente em software.
- Criadas e gerenciadas pela JVM (Java Virtual Machine), não pelo sistema operacional.
- Muito mais leves que threads do sistema operacional.
2. Características das Threads Virtuais
- Leveza: Cada thread virtual ocupa muito menos memória que uma thread tradicional.
- Altamente escaláveis: Permitem a execução de milhares (ou até milhões) de threads no mesmo processo.
- Integração com o modelo de threads existente: São compatíveis com o java.lang.Thread.
Resumo sobre Threads Virtuais
As threads virtuais são um recurso introduzido no Java 19 como parte do projeto Loom. Elas são leves e otimizadas, permitindo uma abordagem mais eficiente para programação concorrente.
1. O que são Threads Virtuais?
Threads implementadas inteiramente em software.
Criadas e gerenciadas pela JVM (Java Virtual Machine), não pelo sistema operacional.
Muito mais leves que threads do sistema operacional.
2. Características das Threads Virtuais
Leveza: Cada thread virtual ocupa muito menos memória que uma thread tradicional.
Altamente escaláveis: Permitem a execução de milhares (ou até milhões) de threads no mesmo processo.
Integração com o modelo de threads existente: São compatíveis com o java.lang.Thread.
3. Benefícios
Programação mais simples: Utilizam o modelo tradicional de threads, sem necessidade de complexidade adicional (como pools de threads).
Redução de bloqueios: Operações bloqueantes (como I/O) são tratadas de forma eficiente pela JVM.
Eficiência de recursos: Consomem menos memória e tempo de CPU comparadas às threads tradicionais.
4. Como criar Threads Virtuais?
Utiliza a classe Thread.ofVirtual(), disponível no Java 19+:
var thread = Thread.ofVirtual().start(() -> {
System.out.println("Thread virtual em execução!");
});
Alternativamente, use um executor:
var executor = Executors.newVirtualThreadPerTaskExecutor();
executor.submit(() -> {
System.out.println("Executando tarefa em thread virtual.");
});
executor.shutdown();
5. Diferenças entre Threads Virtuais e Tradicionais
6. Casos de Uso
- Aplicações de servidor com muitos clientes simultâneos (alta concorrência).
- Operações I/O intensivas (ex.: servidores HTTP).
- Substituição de pools de threads tradicionais.
7. Considerações e Limitações
- Estado experimental: Ainda não recomendado para produção (Java 19 e 20).
- Compatibilidade: Algumas bibliotecas que usam operações bloqueantes podem não se beneficiar.
- Diagnóstico: Ferramentas de monitoramento precisam suportar threads virtuais.
This content originally appeared on DEV Community and was authored by Java Efetivo (livro)

Java Efetivo (livro) | Sciencx (2025-01-16T22:01:36+00:00) Resumo Bônus: Threads Virtuais. Retrieved from https://www.scien.cx/2025/01/16/resumo-bonus-threads-virtuais/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.