Описание тега packaged-task
std::packaged_task<>
- это шаблон класса, представленный в стандарте C++11, который является частью многопоточности, представленной в этой версии стандарта. Это требует использования#include <future>
компилировать.
Цель std::packaged_task<>
заключается в создании асинхронной задачи, которая затем может использоваться с другими функциями многопоточной библиотеки C++ для управления. Вы можете использоватьstd::future<>
чтобы получить результат асинхронной задачи.
Вы также можете использовать std::packaged_task<>
вместе с его get_future()
метод с предложенным co_await
оператор сопрограмм C++20.
Использовать std::packaged_task<>
требует двух шагов: создать упакованный объект задачи и вызвать объект, чтобы запустить его.
Дополнительное чтение
В чем разница между packaged_task и async