Diferentemente da desabilitação de interrupções, a solução de variáveis do tipo trava é baseada em software e não em hardware.
A estratégia de bloqueio de variáveis tem uma grande falha. Imagine, por exemplo, que um determinado processo verificou o estado da variável e este estava definido como “0”. Só que no milésimo de segundo entre a verificação do valor da variável e a sua alteração para 1, um outro processo teve a necessidade de também adentrar em sua região crítica e também efetuou uma consulta a variável de controle, obtendo o valor 0.
Nesta situação, os dois processos acessariam as suas regiões críticas ao mesmo tempo.