Multithreading 响应moveToThread会发出什么信号?

Multithreading 响应moveToThread会发出什么信号?,multithreading,qt,qthread,Multithreading,Qt,Qthread,我正在尝试在中使用QThread 出于性能原因,我希望保持线程运行,并将工作块推到线程上 线程开始时会发出started信号,但是当QObject移动到线程时会发出什么信号,以便它可以在新线程中开始执行工作?没有这样的信号。调用moveToThread后,可以使用调用其他线程中的函数(假设线程已经启动) 在我上面链接的文档中,有一个很好的例子可以使用它: QMetaObject::invokeMethod(thread, "quit", Qt:

我正在尝试在中使用QThread

出于性能原因,我希望保持线程运行,并将工作块推到线程上


线程开始时会发出started信号,但是当QObject移动到线程时会发出什么信号,以便它可以在新线程中开始执行工作?

没有这样的信号。调用
moveToThread
后,可以使用调用其他线程中的函数(假设线程已经启动)

在我上面链接的文档中,有一个很好的例子可以使用它:

QMetaObject::invokeMethod(thread, "quit",
                          Qt::QueuedConnection);
您还可以为希望移动到另一个线程的类创建一个函数,调用
moveToThread
,并在此函数中发出您自己的信号:

void MyClass::myMoveToThreadFunction(QThread *thread)
{
   moveToThread(thread);
   emit threadChanged(); 
}

这就是
QtConcurrent::run
的用途。根本不需要
QObject