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)
См. также
|
(C11) | блокирует до тех пор, пока не заблокирует мьютекс, или истечёт время ожидания (функция) |
|
(C11) | блокирует мьютекс или возвращается без ожидания, если он уже заблокирован (функция) |
|
(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