A counting semaphore is an integer value limited to some maximum value which can be increased or decreased. For example, for , this means the semaphore has reusable ‘permits’ available. When a permit is requested, it is granted and the number of available permits is reduced to . And so forth until zero, where no more can be granted.