Suponha que você precise implementar um uma estrutura do tip...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A resposta correta para a questão é a alternativa B - Classe.
Para entender essa questão, é importante ter conhecimento sobre o conceito de monitor na programação concorrente. Um monitor é uma construção que permite o controle de acesso a uma região crítica, ou seja, uma parte do código que não deve ser executada simultaneamente por mais de uma thread para evitar condições de corrida e garantir a consistência dos dados.
Monitores encapsulam tanto as variáveis compartilhadas (estado) quanto os métodos que operam sobre essas variáveis, e fornecem um mecanismo de sincronização para controlar o acesso. Esse encapsulamento e controle de acesso é o que torna a classe, dentre as opções apresentadas, a estrutura mais adequada para implementar um monitor. Uma classe permite criar objetos que contêm tanto dados (variáveis de instância) quanto métodos, que podem incluir mecanismos de sincronização, como o uso de locks ou outras primitivas de sincronização.
As outras alternativas não oferecem o mesmo nível de encapsulamento e controle:
- Bloco estruturado apenas define um escopo para variáveis e não possui mecanismos de sincronização próprios.
- Função é uma sequência de instruções que executa uma tarefa, mas por si só, não mantém estado nem oferece controle de acesso.
- Estrutura de seleção simples (se) e Estrutura de seleção múltipla (caso) são utilizadas para controle de fluxo baseado em condições, mas não para sincronização ou controle de acesso a recursos compartilhados.
Portanto, a Classe é a escolha correta porque ela pode ser utilizada para modelar um monitor ao encapsular o estado compartilhado e fornecer métodos sincronizados para sua manipulação segura.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Um monitor é uma abstração de sincronização utilizada em programação concorrente. Ele permite que múltiplas threads compartilhem recursos de forma segura, garantindo que apenas uma thread acesse a região crítica de cada vez.
O monitor normalmente é implementado como uma classe, contendo:
- métodos (que são executados de forma mutuamente exclusiva),
- variáveis de condição (para coordenação entre threads).
Assim, a estrutura mais adequada em linguagens de programação para representar monitores é a Classe, já que ela encapsula dados e métodos, além de permitir o controle de concorrência.
- A) Bloco estruturado → Não fornece mecanismos de sincronização.
- B) Classe → ✔️ Correto, pois permite encapsular dados e métodos com sincronização.
- C) Função → Isolada, não encapsula estado compartilhado.
- D) Estrutura de seleção simples (se) → Estrutura de controle, não representa abstração de monitor.
- E) Estrutura de seleção múltipla (caso) → Também apenas controle de fluxo.
B) Classe
Fonte: IA MESTRE DE QUESTÕES – https://chatgpt.com/g/g-ijMcb3nnY-ia-questoes-de-concursos
"A persistência é o caminho do êxito." — Charles Chaplin
Instagram: @tudomudahoje | @rankingdasbancas
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo