Вопросы к Поиску с Алисой
BoundedSemaphore отличается от обычного Semaphore тем, что ограничивает количество вызовов метода release(). devpractice.ru python-academy.org
Semaphore позволяет вызывать release() любое количество раз, и счётчик будет увеличиваться. stackoverflow.com Если на момент вызова acquire() значение счётчика равно нулю, то происходит блокировка потока. devpractice.ru
BoundedSemaphore, в отличие от Semaphore, проверяет, чтобы значение внутреннего счётчика было не больше того, что передано при создании объекта через аргумент value. devpractice.ru Если это происходит, то выбрасывается исключение ValueError. devpractice.ru
Таким образом, BoundedSemaphore предотвращает ошибки, связанные с превышением предела семафора, что особенно полезно при ручном вызове методов acquire() и release(). habr.com python-academy.org