PIP 5.5.3
Platform-Independent Primitives
Открытые члены | Полный список членов класса
Класс PISemaphore

Простой семафор Подробнее...

#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.

Использование