#include <threads.hpp>
Позволяет нескольким нитям одновременно установить блокировку в режиме read-only. Только одна нить может установить блокировку в режиме read-write.
Открытые члены | |
void | rd_lock () |
Захват семафора в режиме чтения. | |
void | wr_lock () |
Захват семафора в режиме записи. | |
void | release () |
Освобождение семафора. | |
Закрытые данные | |
mutex_sem_t | m_lock |
Замок самого семафора. | |
cond_var_t | m_unlocked_event |
Событие, означающее полное освобождение семафора. | |
unsigned long | m_lock_count |
Счетчик захватов семафора. | |
bool | m_is_lock_enabled |
Разрешены ли захваты семафора без ожидания его полного освобождения. |
|
Разрешены ли захваты семафора без ожидания его полного освобождения. Принимает значение false, если производится попытка захватить семафор в режиме записи. |
|
Замок самого семафора. Используется для защиты внутренних структур объекта-семафора. |
|
Счетчик захватов семафора. Не может иметь значение, большее 1, если семафор захвачен в режиме записи. |