Spec-Zone.ru › C

mtx_lock

Определено в заголовке <threads.h>
int mtx_lock( mtx_t* mutex );
(с C11)

Блокирует текущий поток до тех пор, пока мьютекс, на который указывает mutex, не будет заблокирован.

Поведение не определено, если текущий поток уже заблокировал мьютекс, и мьютекс не рекурсивный.

Предыдущие вызовы mtx_unlock для того же мьютекса синхронизируются с данной операцией, и все операции блокировки/разблокировки для данного мьютекса образуют единый общий порядок (аналогичный порядку модификации атомарной величины).

Параметры

mutex - указатель на мьютекс для блокировки

Возвращаемое значение

thrd_success в случае успеха, thrd_error в противном случае.

Ссылки

  • Стандарт C17 (ISO/IEC 9899:2018):
    • 7.26.4.3 Функция mtx_lock (стр. 278)
  • Стандарт C11 (ISO/IEC 9899:2011):
    • 7.26.4.3 Функция mtx_lock (стр. 381)

См. также

mtx_timedlock
(C11)
блокирует до тех пор, пока не заблокирует мьютекс, или истечёт время ожидания
(функция)
mtx_trylock
(C11)
блокирует мьютекс или возвращается без ожидания, если он уже заблокирован
(функция)
mtx_unlock
(C11)
разблокирует мьютекс
(функция)
Документация C++ для mutex::lock
Документация C++ для timed_mutex::lock
Документация C++ для recursive_mutex::lock
Документация C++ для recursive_timed_mutex::lock

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/thread/mtx_lock

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API