Семафор (semaphore)
Коротко: Семафор — лічильник, що керує тим, скільки потоків одночасно може звертатися до обмеженого ресурсу. М’ютекс — окремий випадок зі значенням 1.
Докладніше: Перед доступом лічильник зменшується (acquire/wait). Якщо він дорівнює нулю, потік чекає. Після доступу він збільшується (release/signal), і потік, що чекає, може продовжити.
Подробиці
- Приклад: щонайбільше 5 одночасних звернень до бази даних…
Див. також: м’ютекс (взаємне виключення), взаємне блокування