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

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 ...


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

🚀 Desbloqueie a explicação completa

Veja comentários detalhados e resoluções exclusivas para entender o gabarito desta questão.

  • Sumaia Santana
    Sumaia Santana
    31/12/1969 • 21: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.
🔒
Conteúdo restrito

Cadastre-se para visualizar comentários e resoluções.

Criar conta grátis

Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência. Política de Privacidade.