O chaveamento obrigatório é uma versão modificada do uso de variáveis do tipo trava, pela lógica deste algoritmo os diferentes processos esperariam diferentes condições da variável global, o que implicaria em uma constante alternância entre os processos e, por conseguinte, evitaria a condição de corrida.

Imagine uma situação onde para que o processo A possa entrar na sua região crítica é necessário que o valor da variável global seja igual a 0, ao tempo que para que o processo B possa entrar a variável deve estar com o valor 1. Com base neste contexto inicial, observe a seguinte sequência de ações:

A grande desvantagem deste método, além do desperdício de processamento em função da espera ociosa, é que se espera que os diferentes processos tenham uma necessidade de acesso similar a suas áreas críticas. Em situações em que um determinado processo A necessita de muito mais acesso a sua região crítica do que o processo B, ele pode ser impedido de entrar em sua região crítica mesmo o outro processo não estando em sua região crítica em um dado momento.

Copyright © 2014 AIEC.