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