No contexto da linguagem de Programação Java, uma thread ex...

Próximas questões
Com base no mesmo assunto
Q1759890 Programação
No contexto da linguagem de Programação Java, uma thread executável entra no estado de espera sincronizada quando:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é E: a thread executável é colocada para dormir.

No contexto da linguagem de programação Java, a manipulação de threads é um tópico importante, especialmente em situações que envolvem concorrência e sincronização. Uma thread em Java pode entrar em um estado de espera ou "dormir" quando uma das suas operações explícitas de pausa é chamada, como Thread.sleep() ou quando ela aguarda em um bloco sincronizado.

Justificativas para a alternativa correta:

E - Quando uma thread é colocada para dormir usando métodos como Thread.sleep(), ela entra em um estado de espera temporária. Isso é diferente de uma espera por bloqueio de sincronização, mas ainda assim é um estado de inatividade temporária que é controlado pelo programador ou pelas condições do código.

Explicações para as alternativas incorretas:

A - Uma thread que sai do estado "novo" transita para o estado "executável", mas não necessariamente entra em espera sincronizada. Esse movimento apenas a torna elegível para execução.

B - Operações de E/S (Entrada/Saída) podem bloquear uma thread, mas não estão necessariamente ligadas ao conceito de espera sincronizada em Java, que envolve o uso de blocos ou métodos sincronizados para controle de acesso a recursos compartilhados.

C - Quando uma thread encerra sua tarefa devido a um erro, ela não entra em espera sincronizada. Ao invés disso, ela normalmente termina sua execução ou lança uma exceção que pode ser tratada em outro ponto do programa.

D - Inserir uma instrução synchronized não coloca uma thread diretamente em espera. O synchronized é utilizado para controlar o acesso concorrente a blocos de código ou métodos, prevenindo condições de corrida, mas a entrada em espera sincronizada ocorre somente se a thread não puder obter o bloqueio necessário.

Compreender o comportamento das threads e os mecanismos de sincronização em Java é essencial para gerir corretamente a execução concorrente e evitar problemas comuns em sistemas multithread, como deadlocks e condições de corrida.

"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

Estados de 'thread: Classe Thread

•Estado novo:

•Uma nova thread inicia seu ciclo de vida no estado novo.

•Permanece nesse estado até o programa iniciar a thread,

colocando-a no estado executável

•Estado executável:

•Uma thread que entra nesse estado está executando sua tarefa.

•Estado em espera:

•Uma thread entra nesse estado a fim de esperar que uma outra

thread realize uma tarefa.

•Estado de espera cronometrada:

•Uma thread entra nesse estado para esperar uma outra thread ou

para transcorrer um determinado período de tempo.

•Uma thread nesse estado retorna ao estado executável quando ela

é sinalizada por uma outra thread ou quando o intervalo de tempo

especificado expirar.

Ex:thread para salvar arquivo

automaticamente

•Estado terminado:

•Uma thread executável entra nesse estado quando completa sua

tarefa.

Estados da Thread:

a) Novo

b)Executavel

c)Espera: Aguardando outro thread

d)Espera Cronometrada (sleep)

e)Bloqueado

f)morto ou recursos liberados.

Assertiva correta E

A = Executável

B = Executável

C = Bloqueado

D = Bloqueado

GABARITO E

E ) Outra maneira de posicionar uma thread no estado em espera sincronizada é colocar uma thread executável para dormir — uma thread adormecida permanece no estado de espera sincronizada por um determinado período de tempo (chamado intervalo de adormecimento), depois do qual ela retorna ao estado executável. (DEITEL) Java 10° Edição

Clique para visualizar este comentário

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