Freqüentemente, múltiplas Threads de execução manipulam um ...

Próximas questões
Com base no mesmo assunto
Q737821 Programação
Freqüentemente, múltiplas Threads de execução manipulam um objeto compartilhado na memória. Quando isso ocorre e esse objeto é modificado por uma ou mais Threads, podem ocorrer resultados indeterminados, a menos que o objeto compartilhado seja gerenciado adequadamente. Um programador Java implementando Threads, ao detectar que um método é uma seção crí­tica, deve implementar ações para realizar o seu devido bloqueio. Uma instrução do Java que poderá ser utilizada para esse fim é:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

```html

A alternativa correta é a D - synchronized.

Vamos entender o contexto da pergunta. Quando múltiplas Threads em Java manipulam um objeto compartilhado, é essencial garantir que o acesso a esse objeto seja controlado. Isso ocorre porque, se várias Threads tentarem modificar o mesmo recurso ao mesmo tempo, podem ocorrer resultados indeterminados ou comportamentos inesperados.

Para evitar esses problemas, os desenvolvedores precisam identificar as seções críticas de código que acessam recursos compartilhados e garantir que apenas uma Thread de cada vez possa executá-las. É aí que entra em jogo o uso da palavra-chave synchronized.

A palavra-chave synchronized em Java é usada para criar uma seção crítica, garantindo que apenas uma Thread possa acessar aquele bloco de código ao mesmo tempo, controlando assim o acesso ao objeto compartilhado.

Agora, vejamos as alternativas incorretas:

  • A - native: Essa palavra-chave é utilizada para indicar que um método é implementado em uma linguagem nativa, como C ou C++, fora do ambiente Java. Não tem relação com gerenciamento de concorrência.
  • B - interface: Em Java, interface é usada para declarar um conjunto de métodos que uma classe deve implementar. Não está relacionada ao controle de acesso de Threads.
  • C - abstract: Indica que uma classe ou método é abstrato, ou seja, não pode ser instanciado e deve ser implementado em subclasses. Não tem vínculo com seções críticas ou sincronização.
  • E - final: Essa palavra-chave é usada para definir variáveis constantes ou impedir que classes sejam estendidas ou métodos sejam sobrescritos. Seu uso não está relacionado à sincronização de Threads.

Em resumo, para a sincronização de Threads em Java, a palavra-chave synchronized é a escolha correta para garantir que o acesso a recursos compartilhados seja feito de forma segura e controlada.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

```

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

Synchronized é aplicado para esses fins.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo