Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 使用Qthread将预先定义的类移动到线程中_Multithreading_Qt_Qthread - Fatal编程技术网

Multithreading 使用Qthread将预先定义的类移动到线程中

Multithreading 使用Qthread将预先定义的类移动到线程中,multithreading,qt,qthread,Multithreading,Qt,Qthread,我不是一个很好的程序员,而且对QT来说也很陌生,我对我的措辞感到抱歉 我已经在Qt中创建了一个与main不同的.cpp文件中的sensor类,每当我运行我的程序时,它运行缓慢且滞后,因此我的教授建议为该类创建另一个线程,从sensors检索值。我想把这个类移动到一个单独的新线程中,我只是简单地将所有内容(函数调用、信号等)复制并粘贴到新Qthread的run()函数下 如果这不是一个过程,一些基本的帮助将是非常有益的,我真的不理解QT索引信息 谢谢如果你是Qt的新手,尤其是多线程,我建议你试试。

我不是一个很好的程序员,而且对QT来说也很陌生,我对我的措辞感到抱歉

我已经在Qt中创建了一个与main不同的.cpp文件中的sensor类,每当我运行我的程序时,它运行缓慢且滞后,因此我的教授建议为该类创建另一个线程,从sensors检索值。我想把这个类移动到一个单独的新线程中,我只是简单地将所有内容(函数调用、信号等)复制并粘贴到新Qthread的run()函数下

如果这不是一个过程,一些基本的帮助将是非常有益的,我真的不理解QT索引信息


谢谢

如果你是Qt的新手,尤其是多线程,我建议你试试。这至少可以保护你避免在没有足够经验的情况下很难发现的崩溃和死锁。使用QFuture和QFutureWatcher在线程中执行函数并读取数据


总的来说,您的描述非常笼统,因此我不确定是否有可能提供一个关于如何将类与QThread一起使用的明确答案。

+1这可能是最好的开始方法。但是,如果您确实想使用QThread(与QThread文档相反),则不应将QThread转为子类。将逻辑放在QObject子类中,并使用moveToThread()在QThread中运行它。可以在此处找到一些信息: