Logo Passei Direto
Buscar

Outros

UNIVESP
Com a disponibilidade de GPUs e CPUs multi-core, os aplicativos estão se tornando cada vez mais complexos à medida que os desenvolvedores aproveitam as threads para o máximo desempenho e capacidade de resposta do aplicativo. Com essa maior complexidade vem um maior grau de dificuldade ao escrever código, depurar, testar e gerenciar os aplicativos. Sendo assim, “escrever programas de múltiplas threads pode ser difícil. Embora a mente humana possa realizar funções simultaneamente, as pessoas acham difícil alternar entre linhas de pensamento paralelas. Para ver por que programas de múltiplas threads podem ser difíceis de escrever e de entender, tente a seguinte experiência: abra três livros na página 1 e tente ler os livros concorrentemente. Leia algumas palavras do primeiro livro, então algumas do segundo, então algumas do terceiro, então volte ao início e leia as próximas palavras do primeiro livro etc. Depois dessa experiência, você apreciará os desafios da tecnologia multithreading – alternar entre os livros, ler brevemente, lembrar-se de onde parou em cada livro, aproximar ainda mais o livro que está lendo para poder vê-lo melhor e afastar os que não está lendo – e, no meio de todo esse caos, tentar compreender o conteúdo dos livros” (DEITEL; DEITEL, 2016, p. 749). DEITEL, P.; DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2016. Avalie as afirmações a seguir, sobre os estados e as descrições relacionadas a threads em Java, e correlacione-as, adequadamente, aos termos aos quais se referem. 1. Novo 2. Executando 3. Bloqueado 4. Terminado I. Uma thread está nesse estado quando recebe tempo de CPU pela primeira vez, realizando execução e registro do processo. II. Esse estado associa-se a uma tarefa que precisa de um recurso ou tem menor prioridade que outra, não podendo ser concluída imediatamente. III. Esse estado é ativo quando o método start() é iniciado, quando recursos iniciais já foram alocados à thread. IV. Quando o método run() chega ao fim de sua execução, esse estado é chamado para a thread em questão. Assinale a alternativa que correlaciona, adequadamente, os dois grupos de informação. a. 1-I; 2-II; 3-III; 4-IV. b. 1-II; 2-I; 3-IV; 4-III. c. 1-I; 2-III; 3-IV; 4-II. d. 1-II; 2-III; 3-II; 4-IV. e. 1-I; 2-III; 3-II; 4-IV.
User badge image
anderson

anteontem

Respostas

User badge image

Ed Verified user icon

anteontem

Vamos analisar cada uma das afirmações e suas correlações: 1. Novo: Esse estado se refere a uma thread que foi criada, mas ainda não começou a executar. Portanto, a descrição correta seria quando a thread está pronta para ser executada, mas ainda não recebeu tempo de CPU. 2. Executando: Esse estado ocorre quando a thread está ativamente recebendo tempo de CPU e executando seu código. A descrição correta seria quando a thread está em execução. 3. Bloqueado: Esse estado se refere a uma thread que não pode continuar sua execução porque está esperando por um recurso ou por uma condição que não está disponível no momento. A descrição correta seria quando a thread precisa de um recurso ou tem menor prioridade. 4. Terminado: Esse estado ocorre quando a execução da thread foi concluída, ou seja, quando o método `run()` chega ao fim. A descrição correta seria quando a thread finaliza sua execução. Agora, vamos correlacionar as descrições: I. Uma thread está nesse estado quando recebe tempo de CPU pela primeira vez, realizando execução e registro do processo. (Corresponde ao estado Executando) II. Esse estado associa-se a uma tarefa que precisa de um recurso ou tem menor prioridade que outra, não podendo ser concluída imediatamente. (Corresponde ao estado Bloqueado) III. Esse estado é ativo quando o método start() é iniciado, quando recursos iniciais já foram alocados à thread. (Corresponde ao estado Novo) IV. Quando o método run() chega ao fim de sua execução, esse estado é chamado para a thread em questão. (Corresponde ao estado Terminado) Agora, vamos verificar as alternativas: a. 1-I; 2-II; 3-III; 4-IV. (Incorreta) b. 1-II; 2-I; 3-IV; 4-III. (Incorreta) c. 1-I; 2-III; 3-IV; 4-II. (Incorreta) d. 1-II; 2-III; 3-II; 4-IV. (Incorreta) e. 1-I; 2-III; 3-II; 4-IV. (Incorreta) Nenhuma das alternativas está correta. A correlação correta seria: - 1-III (Novo) - 2-I (Executando) - 3-II (Bloqueado) - 4-IV (Terminado) Se precisar de mais ajuda, é só avisar!

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina