Suponha que você precise implementar um uma estrutura do tip...

Próximas questões
Com base no mesmo assunto
Q2319491 Programação
Suponha que você precise implementar um uma estrutura do tipo monitor para controlar uma determinada região crítica de memória. Qual seria a estrutura presente em linguagens de programação mais adequada entre as presentes nas alternativas abaixo?
Alternativas

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