#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, если семафор захвачен в режиме записи. |
1.3.7