🎯 Saiba o que estudar

Avançado com Treinador a partir de R$ 0,76/dia

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.

Synchronized é usado para gerenciar exclusão mútua na região crítica. Muito utilizado em sistemas multitarefas.

Clique para visualizar este comentário

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