Spec-Zone.ru › Qt

Класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API