cnd_wait
Определено в заголовочном файле <threads.h> | ||
|---|---|---|
int cnd_wait( cnd_t* cond, mtx_t* mutex ); | (с C11) |
Атомарно разблокирует мьютекс, на который указывает mutex и блокируется на условии, на которое указывает cond, до тех пор, пока поток не будет сигнализирован cnd_signal или cnd_broadcast, или до возникновения ложного пробуждения. Мьютекс снова блокируется перед возвратом из функции.
Поведение неопределено, если мьютекс не заблокирован вызывающим потоком.
Параметры
| cond | - | указатель на переменную условия, на которой ожидается блокировка |
| mutex | - | указатель на мьютекс, который разблокируется на время блокировки |
Значение результата
thrd_success в случае успеха, thrd_error в противном случае.
Ссылки
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.26.3.6 Функция cnd_wait (стр. 277)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.26.3.6 Функция cnd_wait (стр. 380)
См. также
|
(C11) | ожидает блокировку на переменной условия с таймаутом (функция) |
Документация C++ для condition_variable::wait |
|
Документация C++ для condition_variable_any::wait |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/thread/cnd_wait