cnd_timedwait
|
Определено в заголовочном файле
<threads.h>
|
||
| (начиная с C11) | ||
Атомарно разблокирует мьютекс, на который указывает
mutex
, и блокируется на переменной условия, на которую указывает
cond
, до тех пор пока поток не будет разбужен с помощью
cnd_signal
или
cnd_broadcast
, или до достижения временной точки на основе
TIME_UTC
, на которую указывает
time_point
, или до возникновения ложного пробуждения. Мьютекс снова блокируется перед возвратом из функции.
Поведение не определено, если мьютекс уже не заблокирован вызывающим потоком.
Содержание |
Параметры
| cond | - | указатель на переменную условия, на которой следует заблокироваться |
| mutex | - | указатель на мьютекс для разблокировки на время блокировки |
| time_point | - | указатель на объект, определяющий время ожидания до истечения таймаута |
Возвращаемое значение
thrd_success если успешно, thrd_timedout если время ожидания истекло до блокировки мьютекса, или thrd_error если произошла ошибка.
Ссылки
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.26.3.5 Функция cnd_timedwait (стр: 276-277)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.26.3.5 Функция cnd_timedwait (стр: 379-380)
Смотрите также
|
(C11)
|
блокирует на условной переменной
(функция) |
|
C++ documentation
для
condition_variable::wait_until
|
|
|
C++ documentation
для
condition_variable_any::wait_until
|
|