我有一个包含一些属性和两个方法的类。这些方法需要相同的属性,应该从programstart运行,直到程序终止。方法不需要与GUI线程交互。
目前我只知道如何将完整的对象移动到Qt中的另一个线程。但我需要并行运行这两种方法。有什么办法吗?
答案 0 :(得分:2)
您可以使用QtConcurrent :: run在单独的线程中运行函数。
QFuture<void> future1 = QtConcurrent::run(this,&MyClass::Function1, arg1 );
QFuture<void> future2 = QtConcurrent::run(this,&MyClass::Function2, arg1 );
您可以检查这些期货所代表的异步计算的状态,如:
if(future1.isRunning())
{
// It is currently running
}
或者等待它完成:
future1.waitForFinished();