1.1 - Semáforo
Um semáforo tem a propriedade de contar qualquer coisa que se deseje. Geralmente, um semáforo é usado para contar o número de sinais de acordar salvos para uso futuro, a quantidade de itens presentes ou ausentes em um buffer, a posição onde se deve inserir ou remover itens de um buffer, dentre outros. Geralmente, o tipo de dado “int” é usado para representar um semáforo em diversas linguagens de programação.
1.2 - Mutex
Consequentemente, somente 1 bit é necessário para representá-lo. Nas linguagens onde existe o tipo de dado “boolean”, o mesmo é uma opção suficiente e adequada para tal representação. Contudo, em linguagens onde o tipo de dado “boolean” não existe, geralmente utiliza-se o tipo “int” para um domínio de apenas dois valores, geralmente, zero para desimpedido e qualquer outro valor para impedido.