Класс 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.1/qtconcurrent-qtaskbuilder.html