Рассматриваем объект синхронизации Semaphore. Семафор - это считающий объект с сигнальным и несигнальным состояниями. Сигнальное состояние когда счетчик больше нуля, несигнальное - когда 0. При захвате семаформа счетчик уменьшается на единицу.