блокировки
Этот модуль содержит поддержку Nim для блокировок и условных переменных.
Типы
Lock = SysLock
- Блокировка Nim; не определено, является ли она повторно входящей! Исходный код Редактировать
Cond = SysCond
- Условная переменная Nim Исходный код Редактировать
Процедуры
proc initLock(lock: var Lock) {...}{.inline, raises: [], tags: [].}- Инициализирует заданную блокировку. Исходный код Редактировать
proc deinitLock(lock: var Lock) {...}{.inline, raises: [], tags: [].}- Освобождает ресурсы, связанные с блокировкой. Исходный код Редактировать
proc tryAcquire(lock: var Lock): bool {...}{.raises: [], tags: [].}- Попытка получить заданную блокировку. Возвращает
trueпри успехе. Исходный код Редактировать proc acquire(lock: var Lock) {...}{.raises: [], tags: [].}- Получает заданную блокировку. Исходный код Редактировать
proc release(lock: var Lock) {...}{.raises: [], tags: [].}- Освобождает заданную блокировку. Исходный код Редактировать
proc initCond(cond: var Cond) {...}{.inline, raises: [], tags: [].}- Инициализирует заданную условную переменную. Исходный код Редактировать
proc deinitCond(cond: var Cond) {...}{.inline, raises: [], tags: [].}- Освобождает ресурсы, связанные с условной переменной. Исходный код Редактировать
proc wait(cond: var Cond; lock: var Lock) {...}{.inline, raises: [], tags: [].}- ожидает условную переменную
cond. Исходный код Редактировать proc signal(cond: var Cond) {...}{.inline, raises: [], tags: [].}- отправляет сигнал условной переменной
cond. Исходный код Редактировать
Шаблоны
template withLock(a: Lock; body: untyped)
- Получает заданную блокировку, выполняет операторы в теле и освобождает блокировку после завершения выполнения операторов. Исходный код Редактировать
© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/locks.html