Questões Informática Linguagens

Quanto aos escalonamentos de threads em Java, considere: I. Em sistemas que ...

Responda: Quanto aos escalonamentos de threads em Java, considere: I. Em sistemas que aceitam preempção, uma thread executando em uma CPU também pode ser interrompida por uma thread de prioridade ...


1Q631357 | Informática, Linguagens, Técnico Judiciário, TRE AM, FCC

Quanto aos escalonamentos de threads em Java, considere:

I. Em sistemas que aceitam preempção, uma thread executando em uma CPU também pode ser interrompida por uma thread de prioridade mais alta.

II. Chamando o método run(), uma thread sugere que deseja abrir mão do controle da CPU, permitindo que outra thread tenha a oportunidade de ser executada.

III. Para que todas as threads tenham uma quantidade igual de tempo de CPU em um sistema que não realiza a repartição de tempo, uma thread pode abandonar o controle da CPU com o método yield().

Está correto o que se afirma em

  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️

💬 Comentários

Confira os comentários sobre esta questão.
Sumaia Santana
Por Sumaia Santana em 31/12/1969 21:00:00
Gabarito: Alternativa D
I. “Em sistemas que aceitam preempção, uma thread executando em uma CPU também pode ser interrompida por uma thread de prioridade mais alta.”
Correta - Nos sistemas preemptivos, o escalonador do sistema operacional pode interromper (preemptar) uma thread em execução para dar prioridade a outra com maior prioridade.
Em Java, o gerenciamento de threads depende do escalonador da JVM e do sistema operacional, que geralmente são preemptivos e baseados em prioridades.

II. “Chamando o método run(), uma thread sugere que deseja abrir mão do controle da CPU, permitindo que outra thread tenha a oportunidade de ser executada.”
Errada - O método run() não inicia nem cede controle de CPU. Ele executa o código da thread como um método comum, dentro do mesmo fluxo de execução. O correto seria usar start() para iniciar uma nova thread, ou yield() para sugerir que o processador passe para outra thread.

III. “Para que todas as threads tenham uma quantidade igual de tempo de CPU em um sistema que não realiza a repartição de tempo, uma thread pode abandonar o controle da CPU com o método yield().”
Correta - O método Thread.yield() sugere ao escalonador que a thread atual está disposta a ceder o processador temporariamente, permitindo que outras threads do mesmo nível de prioridade sejam executadas. Isso pode ajudar a equalizar o uso da CPU entre threads, embora não garanta comportamento determinístico.
⚠️ Clique para ver os comentários

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

Ver comentários
Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.