![]() |
PIP 5.6.1
Platform-Independent Primitives
|
Счетный семафор, отслеживающий количество доступных единиц ресурса. Подробнее...
#include <pisemaphore.h>
Открытые члены | |
| PISemaphore | PISemaphore (int initial=0) |
| Создает семафор с "initial" начальными свободными ресурсами. | |
| ~PISemaphore () | |
| Деструктор семафора. | |
| void | acquire (int cnt=1) |
| Захватывает cnt единиц ресурса, ожидая появления достаточного количества. | |
| bool | tryAcquire (int cnt=1) |
| Пытается захватить cnt единиц ресурса без ожидания. | |
| bool | tryAcquire (int cnt, PISystemTime timeout) |
| Пытается захватить cnt единиц ресурса в пределах timeout. | |
| void | release (int cnt=1) |
| Освобождает cnt единиц ресурса и пробуждает ожидающие потоки. | |
| int | available () const |
| Возвращает текущее количество доступных единиц ресурса. | |
Счетный семафор, отслеживающий количество доступных единиц ресурса.
Простой семафор
PISemaphore предоставляет межпотоковую защиту критических секций кода с подсчетом ресурсов. Семафор состоит из логического счетчика и методов для его изменения: release(), acquire() and tryAcquire().
Для автоматического захвата-освобождения используйте PISemaphoreLocker.