• Matéria: Informática
  • Autor: Cohelo
  • Perguntado 7 anos atrás

Porque um thread em algum momento abriria mão voluntariamente da CPR
chamando a funçãi thread_yield? Afinal, visto que não há uma interrupção
periódica de relógio, ele talvez jamais receba a CPU de volta.

Respostas

respondido por: rayllecn
4

Chamamos de thread  a tarefa que um determinado programa realiza. Embora threads sejam, na maioria das vezes, muito úteis,  eles também podem causar uma série de complicações  no modelo de programação, como pode ser observado nos efeitos da chamada fork de sistema UNIX.

A função thread_yield permite que um thread abra mão voluntariamente da CPU para que outro thread possa ser executado. Uma chamada dessas é importante porque não há uma interrupção de relógio para realmente forçar a multiprogramação  como há com os processos.

Assim, é fundamental que os que os threads sejam educados e voluntariamente entreguem a CPU de tempos em tempos para dar aos outros  threads uma chance de serem executados.

Espero ter ajudado, bons estudos :)

Perguntas similares