Go backward to Escalonamento Escondido
Go up to Escalonamento com Paralelismo
Go forward to Turnstiles
Inversão de Prioridades
Thread de baixa prioridade pode ser necessário para activar thread de alta
prioridade:
- Herança de prioridade permite resolver o problema. Em Solaris
thread tem prioridade global, dependendo da classe, e
prioridade herdada que depende da interacção com objectos
de sincronização.
- pi_willto é usada quando thread bloqueia para
passear prioridade recursivamente para os donos de um objecto.
- Fácil para mutexes.
- Em geral impossível para semáforos e variáveis de
sincronização.
- para readers-writers, Solaris usa owner-of-record,
primeiro thread a ler o objecto.
- Herança de prioridades reduz tempo de espera, mas não evita
que a cadeia de bloqueamento cresça e muitos bloqueamentos em
regiões críticas. Uma solução é usar um protocolo para garantir
que processo com > prioridade só bloqueia uma vez num recurso de
threads menos prioritários.
vitor@cos.ufrj.br