Pular para o conteúdo principal

Questão de Sistemas Operacionais — Threads — FGV 2026

Sistemas OperacionaisThreads
Código
fg130061
Banca
FGV
Órgão
AMAZUL
Ano
2026
Nível
Médio
Cargo
Técnico de Informática

Nos sistemas operacionais modernos, o uso de threads permite dividir a execução de programas em fluxos independentes, favorecendo responsividade e melhor aproveitamento de recursos do processador.


Considerando as características e modelos de uso de threads em sistemas operacionais e linguagens de programação, assinale a alternativa correta. 

  1. AA compilação de programas em Java dispensa a utilização de threads, caso o código seja especificado somente com o método main().
  2. BA fim de superar dificuldades operacionais tais como correção dos programas, a técnica de threading implícito transfere a criação de threads nativa dos compiladores para os desenvolvedores de aplicações.
  3. CO padrão POSIX (IEEE 1003.1c) define Pthreads como uma implementação paralela do comportamento dos threads, a fim de otimizar desempenho em sistemas multicore.
  4. DThreads oferecem dois níveis de suporte: usuário e kernel. Threads do nível usuário são gerenciadas com o suporte do kernel e do sistema operacional, implementando, assim, o paralelismo de código.
  5. EUma possível técnica de criação de threads em programas escritos na linguagem Java define uma classe que implementa a interface Runnable.
Revelar gabarito e comentário

GabaritoE — Uma possível técnica de criação de threads em programas escritos na linguagem Java define uma classe que implementa a interface Runnable.

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”.

Threads em Sistemas Operacionais e Java

Gabarito: letra E. A alternativa E descreve corretamente uma das técnicas de criação de threads em Java: implementar a interface Runnable. As demais alternativas contêm erros conceituais sobre threads, modelos e gerenciamento.

Threads são fluxos independentes de execução dentro de um processo. Existem modelos como N:1 (threads de usuário gerenciadas por biblioteca, sem suporte do kernel), 1:1 (cada thread de usuário mapeada a uma thread de kernel) e N:M (híbrido). Em Java, a criação de threads pode ser feita estendendo a classe Thread ou implementando a interface Runnable.

Alternativa A — ❌ Incorreta

Afirma que a compilação dispensa threads se só houver main(). Na verdade, o próprio método main() é executado em uma thread, e a JVM cria threads internas (garbage collector, finalização). Não é possível dispensar threads.

Alternativa B — ❌ Incorreta

Threading implícito (ex.: OpenMP, Cilk) automatiza a criação de threads, transferindo a responsabilidade do desenvolvedor para o compilador ou runtime – o oposto do que a alternativa diz.

Alternativa C — ❌ Incorreta

Pthreads (POSIX threads) é uma API padrão para programação multithread em C/C++, não uma "implementação paralela do comportamento dos threads". Ela fornece funções para criar e sincronizar threads, mas não é específica para sistemas multicore.

Alternativa D — ❌ Incorreta

Threads de nível usuário são gerenciadas em espaço de usuário, sem suporte do kernel (modelo N:1). A afirmação de que são gerenciadas com suporte do kernel está errada; isso se aplica a threads de kernel. Além disso, o paralelismo verdadeiro só é alcançado com threads de kernel.

Alternativa E — ✅ Correta ⟵ GABARITO

Em Java, uma técnica padrão é definir uma classe que implementa a interface Runnable e passar uma instância para um objeto Thread. Exemplo:

class MinhaTarefa implements Runnable {
    public void run() { /* código da thread */ }
}
Thread t = new Thread(new MinhaTarefa());
t.start();

Isso está de acordo com a documentação da API Java.

PEGA ESSA DICA!

Em Java, prefira implementar Runnable a estender Thread, pois permite que a classe herde de outra classe. Além disso, a interface Runnable separa a tarefa da thread, facilitando o reuso.

Gabarito: letra E.

Link permanente: /questoes/fg130061