Понятие семафора и его использование для целей синхронизации

Семафор – обобщение блокирующих переменных.

Это переменная, которая может принимать целые неотрицательные значения, предложена Дейкстра.

Если семафор может принимать значения только 0 и 1 – он превращается в блокирующую переменную.

Его удобно использовать для синхронизации набора идентичных ресурсов – например, отдельных буферов, с каждым из которых может работать отдельный поток. Они идеальны для решения задачи доступа к ресурсным пулам: информационным структурам, наборам одинаковых областей памяти, наборам внешних устройств.

Здесь у нас 2 семафора, один для количества пустых, второй – для количества занятых буферов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: