std::packaged_task<R(Args...)>:: operator()
From ru.cppreference.net
<
cpp
|
thread
|
packaged task
|
void
operator
(
)
(
ArgTypes...
args
)
;
|
(начиная с C++11) | |
Вызывает сохранённую задачу, как если бы с помощью INVOKE<R> ( f, args... ) , где f является сохранённой задачей. Возвращаемое значение задачи или любые исключения сохраняются в общем состоянии. Общее состояние переводится в состояние готовности, и все потоки, ожидающие его, разблокируются.
Содержание |
Параметры
| args | - | параметры для передачи при вызове хранимой задачи |
Возвращаемое значение
(нет)
Исключения
std::future_error при следующих условиях ошибки:
- Сохраненная задача уже была вызвана. Категория ошибки устанавливается в promise_already_satisfied .
- * this не имеет общего состояния. Категория ошибки устанавливается в no_state .
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Отчёты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 2142 | C++11 |
a successful call to
operator
(
)
synchronized with
a call to any member function of a std::future or std::shared_future that share their shared state with * this |
no additional synchronization
guarantees other than what is already provided by shared state |
Смотрите также
|
выполняет функцию, гарантируя, что результат будет готов только после завершения текущего потока
(публичная функция-член) |