Класс 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)
Выполняет задачу в отдельном потоке. Это асинхронный вызов. Задача может не начаться сразу.
шаблон <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.2/qtconcurrent-qtaskbuilder.html