
Next: Buffer com exclusão mútua
Up: Exclusão Mútua
Previous: Exclusão Mútua
- Regiões críticas são trechos de
código que tratam variáveis em conflito
- Exclusão mútua: solução mais simples
para se obter a
semântica não determinística
- Pode-se usar variáveis do tipo key, com as operações
lock e unlock
- Todas as regiões críticas devem ser colocadas entre
pares lock e
unlock:
key mutex;
...
lock(mutex);
regiao critica
unlock(mutex)
- Um processo que executa lock sobre uma chave destravada
trava a chave e continua sua progressão
- Um processo que executa lock sobre uma chave travada
tem a sua execução suspensa
- Um processo que executa unlock destrava a chave, e faz
com que todos os processos à espera desta chave tentem travá-la
- Nenhuma suposição deve ser feita sobre a política de escolha do vencedor
- Uma chave é travada por no máximo um processo de cada vez
Osvaldo Sergio F. de Carvalho
Wed Mar 19 14:56:39 EST 1997