QTaskBuilder 类

模板 <typename Task, typename... Args> class QtConcurrent::QTaskBuilder

QTaskBuilder 类用于调整任务参数。 更多...

头文件 #include <QTaskBuilder>
CMakefind_package(Qt6 REQUIRED COMPONENTS Concurrent)
target_link_libraries(mytarget PRIVATE Qt6::Concurrent)
qmakeQT += concurrent
Qt 6.0

公共函数

QtConcurrent::QTaskBuilder< shortcuts, arguments...>&&onThreadPool(QThreadPool &&newThreadPool)
QFuture< QtConcurrent::InvokeResultType>spawn()
voidspawn(QtConcurrent::FutureResult)
QtConcurrent::QTaskBuilder< shortcuts, AdditionalArguments...>&&withArguments(AdditionalArguments &&... args)
QtConcurrent::QTaskBuilder< shortcuts, arguments...>&&withPriority(int newPriority)

详细描述

无法手动创建此类的对象。有关详细信息和使用示例,请参阅 并发任务

成员函数文档

QtConcurrent::QTaskBuilder<shortcuts, arguments...>&& QTaskBuilder::onThreadPool(QThreadPool &&newThreadPool)

设置任务将在其中被调用的线程池 newThreadPool

QFuture<QtConcurrent::InvokeResultType> QTaskBuilder::spawn()

在一个单独的线程中运行任务,并立即返回一个未来对象。这是一个非阻塞调用。任务可能不会立即开始。

void QTaskBuilder::spawn(QtConcurrent::FutureResult)

在一个单独的线程中运行任务。这是一个非阻塞调用。任务可能不会立即开始。

模板 <typename... AdditionalArguments> QtConcurrent::QTaskBuilder<shortcuts, AdditionalArguments...>&& QTaskBuilder::withArguments(AdditionalArguments &&... args)

设置任务将使用的参数 args。如果这样做,代码将是不规范的(导致编译错误)。

  • 此函数会被调用多次。
  • 参数计数为零。

QtConcurrent::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>...>;

实际的实现还包含一个编译时检查,以确定任务是否可以使用指定的参数来调用。

© 2024 Qt公司有限公司。此处包含的文档贡献是各自所有者的版权。此处提供的文档根据自由软件基金会发布的GNU自由文档许可版本1.3的规定进行许可。Qt和相应标志是芬兰以及全世界其他地区的Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。