Questão
ID 67300Disciplina: Tecnologia da Informação
Assuntos: Gestão de Recursos, Threads
Ano: 2025 Banca: PERFIL - ENADE Órgão: Terceiro Simulado Pnd
Um professor de Sistemas Operacionais está lecionando sobre a diferença entre processos e threads. Ele observa que os alunos frequentemente usam os termos de forma intercambiável, sem entender as implicações de cada um para a concorrência e o uso de recursos. Para esclarecer a distinção, ele apresenta um trecho de um livro-texto: "Um **processo** é um programa em execução. O sistema operacional aloca para cada processo um espaço de endereçamento de memória privado, uma tabela de arquivos abertos e outros recursos. A criação de um processo é uma operação 'pesada' (custosa). As **threads**, por vezes chamadas de 'processos leves', são a unidade básica de utilização da CPU. Um processo pode ter múltiplas threads, todas executando dentro do mesmo contexto de processo. Isso significa que as threads de um mesmo processo compartilham o mesmo espaço de endereçamento de memória, o mesmo código e os mesmos arquivos abertos. A criação de uma thread e a troca de contexto entre threads de um mesmo processo são muito mais 'leves' (rápidas) do que para processos. Essa capacidade de compartilhar memória torna a comunicação entre threads muito mais fácil do que entre processos, mas também introduz a necessidade de sincronização cuidadosa para evitar condições de corrida."
Com base nesta distinção, em qual dos seguintes cenários o uso de múltiplas threads dentro de um único processo seria mais vantajoso do que o uso de múltiplos processos?