Questão de Programação — Plataforma Java — FGV 2026
Programação›Plataforma Java
Código
fg133904
Banca
FGV
Órgão
TJ-RJ
Ano
2026
Nível
Superior
Cargo
Analista Judiciário - Tecnologia da Informação - Analista de Sistemas
Um analista de sistemas está projetando a aplicação web JustiçaÁgil. A JustiçaÁgil deve ser uma aplicação Java de alta performance, apta a processar um grande volume de requisições de usuários em tempo real. A fim de otimizar a utilização dos recursos do servidor, o analista decidiu implementar o paralelismo na JustiçaÁgil com o uso tanto de threads virtuais do Java quanto de threads de plataforma. Sobre a implementação de paralelismo na JustiçaÁgil, é correto afirmar que:
Aos threads virtuais serão executados em um ambiente isolado, garantindo que falhas em um thread virtual não afetem o restante da aplicação;
Bcada thread virtual equivalerá a um thread de plataforma, resultando em um aumento linear no consumo de recursos à medida que o número de threads aumenta;
Cos threads virtuais compartilharão um thread de plataforma subjacente, permitindo que um único thread de plataforma esteja associado a milhares de threads virtuais;
Do número de threads de plataforma disponíveis determinará o número máximo de threads virtuais que podem ser instanciadas, independentemente da carga de trabalho;
Eo número de threads virtuais disponíveis determinará o número máximo de threads de plataforma que podem ser instanciadas, independentemente da carga de trabalho.
Revelar gabarito e comentário▾
GabaritoC — os threads virtuais compartilharão um thread de plataforma subjacente, permitindo que um único thread de plataforma esteja associado a milhares de threads virtuais;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Java: Threads Virtuais vs Threads de Plataforma
Gabarito: letra C. A alternativa C descreve corretamente o funcionamento dos threads virtuais (Project Loom) em Java: eles são leves e multiplexados sobre um pequeno número de threads de plataforma (carrier threads), permitindo que milhares de threads virtuais compartilhem um único thread de plataforma, otimizando o uso de recursos.
A banca cobra o conceito fundamental dos virtual threads introduzidos no Java 19/21 como preview e estabilizados no Java 21. Diferentemente dos threads de plataforma (OS threads), os virtual threads são gerenciados pela JVM e não são mapeados 1:1 para threads do sistema operacional. Eles são montados em um número limitado de carrier threads (plataforma), de modo que um único carrier pode executar muitos virtual threads, suspendendo e retomando conforme necessário. Isso permite alta concorrência com menor consumo de memória.
Threads em Java
1Thread de plataforma (OS thread)
Mapeamento 1:1 com SO
Consome mais recursos
2Thread virtual (Project Loom)
Gerenciado pela JVM
Multiplexado sobre carrier threads
Não é isolado por padrão
Não equivale 1:1 a plataforma
Muitos virtuais por carrier
Menor consumo de memória
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que threads virtuais são executados em ambiente isolado, garantindo que falhas em um virtual thread não afetem o restante. Isso não é uma propriedade específica de virtual threads; qualquer thread (virtual ou plataforma) pode lançar exceções que não propagam automaticamente para outras threads, mas o conceito de "isolamento" não é característico. Além disso, virtual threads não são isolados por padrão; eles compartilham o mesmo espaço de memória. A alternativa erra ao generalizar.
Alternativa B — ❌ Incorreta
Diz que cada thread virtual equivale a um thread de plataforma, causando aumento linear no consumo de recursos. Isso é falso: justamente a vantagem dos virtual threads é que muitos deles podem ser executados sobre poucos threads de plataforma, não havendo equivalência 1:1. O consumo de recursos é muito menor.
Alternativa C — ✅ Correta ⟵ GABARITO
Conforme explicado, threads virtuais compartilham um thread de plataforma subjacente (carrier thread), permitindo que um único thread de plataforma esteja associado a milhares de threads virtuais. Essa é a definição central dos virtual threads.
Alternativa D — ❌ Incorreta
Inverte a relação: afirma que o número de threads de plataforma determina o máximo de virtual threads. Na verdade, virtual threads são independentes do número de plataforma threads para sua criação; você pode criar milhões de virtual threads mesmo com poucos carrier threads. O número de plataforma threads limita a concorrência simultânea, mas não o número total de virtual threads instanciáveis.
Alternativa E — ❌ Incorreta
Afirma o contrário de D: que o número de virtual threads determina o máximo de plataforma threads. Também incorreto, pois plataforma threads são recursos limitados do SO, independentes da quantidade de virtual threads.