gpt4 book ai didi

multithreading - 有没有一种方法可以检测QT QRunnable对象何时完成?

转载 作者:行者123 更新时间:2023-12-04 08:26:45 24 4
gpt4 key购买 nike

有没有一种方法可以检测QT QRunnable对象何时完成? (除了在run()方法末尾手动创建一些信令事件。)

最佳答案

您可以简单地使用QtConcurrent运行可运行对象,并使用QFuture等待完成。

#include <QtConcurrentRun>

class MyRunnable : public Runnable{
void run();
}

为了运行并等待它,您可以执行以下操作
//create a new MyRunnable to use
MyRunnable instance;

//run the instance asynchronously
QFuture<void> future = QtConcurrent::run(&instance, &MyRunnable::run);

//wait for the instance completion
future.waitForFinished();

Qtconcurrent::run将启动一个新线程以在实例上执行方法run(),并立即返回一个跟踪实例进度的QFuture。

但是请注意,使用此解决方案,您有责任在执行期间将实例保留在内存中。

关于multithreading - 有没有一种方法可以检测QT QRunnable对象何时完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3930976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com