Класс QTaskBuilder
шаблон <typename Task, typename Args> class QtConcurrent::QTaskBuilderКласс QTaskBuilder используется для настройки параметров задачи. Подробнее...
| Заголовок: | #include <QTaskBuilder> |
| CMake: | find_package(Qt6 COMPONENTS Concurrent REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Concurrent) |
| qmake: | QT += concurrent |
| С: | Qt 6.0 |
Открытые функции
| QTaskBuilder<Task, Args...> & | onThreadPool(QThreadPool &newThreadPool) |
| QFuture<QtConcurrent::InvokeResultType> | spawn() |
| void | spawn(QtConcurrent::FutureResult) |
| QTaskBuilder<Task, ExtraArgs...> | withArguments(ExtraArgs &&... args) |
| QTaskBuilder<Task, Args...> & | withPriority(int newPriority) |
Связанные нечлены
| InvokeResultType |
Подробное описание
Создать объект этого класса вручную нельзя. См. Задачу ввода-вывода для получения более подробной информации и примеров использования.
Документация по функциям-членам
QTaskBuilder<Task, Args...> &QTaskBuilder::onThreadPool(QThreadPool &newThreadPool)
Устанавливает пул потоков newThreadPool, на котором будет вызываться задача.
QFuture<QtConcurrent::InvokeResultType> QTaskBuilder::spawn()
Выполняет задачу в отдельном потоке и немедленно возвращает объект будущего. Это неблокирующий вызов. Задача может не начаться немедленно.
void QTaskBuilder::spawn(QtConcurrent::FutureResult)
Выполняет задачу в отдельном потоке. Это неблокирующий вызов. Задача может не начаться немедленно.
template <typename ExtraArgs> QTaskBuilder<Task, ExtraArgs...> QTaskBuilder::withArguments(ExtraArgs &&... args)
Устанавливает аргументы args, с которыми будет вызвана задача. Код некорректен (приводит к ошибкам компиляции), если:
- Эта функция вызывается более одного раза.
- Количество аргументов равно нулю.
QTaskBuilder<Task, Args...> &QTaskBuilder::withPriority(int newPriority)
Устанавливает приоритет newPriority, с которым будет вызвана задача.
Связанные нечлены
[alias] InvokeResultType
Упрощенное определение этого типа выглядит следующим образом:
template <class Task, class ...Args> using InvokeResultType = std::invoke_result_t<std::decay_t<Task>, std::decay_t<Args>...>;
Реальное реализация также содержит проверку на этапе компиляции, чтобы убедиться, что задача может быть вызвана со заданными аргументами.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qtconcurrent-qtaskbuilder.html