Pular para o conteúdo principal

Questão de Programação — Plataforma Java — FGV 2026

ProgramaçãoPlataforma 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:
  1. 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;
  2. 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;
  3. Cos threads virtuais compartilharão um thread de plataforma subjacente, permitindo que um único thread de plataforma esteja associado a milhares de threads virtuais;
  4. 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;
  5. 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.

Gabarito: letra C.

Link permanente: /questoes/fg133904