QTaskBuilder 类用于调节任务参数。 更多...
头: | #include <QTaskBuilder> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS Concurrent)
target_link_libraries(mytarget PRIVATE Qt6::Concurrent) |
qmake: | QT += concurrent |
Since: | Qt 6.0 |
QtConcurrent::QTaskBuilder<Task, Args...> & | onThreadPool (QThreadPool & newThreadPool ) |
QFuture<QtConcurrent::InvokeResultType> | spawn () |
void | spawn (QtConcurrent::FutureResult) |
QtConcurrent::QTaskBuilder<Task, ExtraArgs...> | withArguments (ExtraArgs &&... args ) |
QtConcurrent::QTaskBuilder<Task, Args...> & | withPriority (int newPriority ) |
InvokeResultType |
It's not possible to create an object of this class manually. See 并发任务 for more details and usage examples.
Sets the thread pool newThreadPool that the task will be invoked on.
Runs the task in a separate thread and returns a future object immediately. This is a non-blocking call. The task might not start immediately.
Runs the task in a separate thread. This is a non-blocking call. The task might not start immediately.
Sets the arguments args the task will be invoked with. The code is ill-formed (causes compilation errors) if:
Sets the priority newPriority that the task will be invoked with.
[alias]
InvokeResultType
The simplified definition of this type looks like this:
template <class Task, class ...Args> using InvokeResultType = std::invoke_result_t<std::decay_t<Task>, std::decay_t<Args>...>;
The real implementation also contains a compile-time check for whether the task can be invoked with the specified arguments or not.