EMZETT.
Увійти

Семафор (semaphore)

Коротко: Семафор — лічильник, що керує тим, скільки потоків одночасно може звертатися до обмеженого ресурсу. М’ютекс — окремий випадок зі значенням 1.

Докладніше: Перед доступом лічильник зменшується (acquire/wait). Якщо він дорівнює нулю, потік чекає. Після доступу він збільшується (release/signal), і потік, що чекає, може продовжити.

Подробиці

  • Приклад: щонайбільше 5 одночасних звернень до бази даних…

Див. також: м’ютекс (взаємне виключення), взаємне блокування