moveToThread()、QtConcurrent注意项

【moveToThread】

功能:将类中的函数在子线程中执行。

1、该类公有继承QObject

2、该类中函数为公共函数

3、主线程中创建该类对象时不可以指定父对象

4、线程函数必须由信号槽方式触发。不可以用对象调用函数的方式。

具体案例参考:QT线程之 moveToThread() 只能用信号槽方式触发_立冲君也的博客-CSDN博客

 【QtConcurrent】

QFuture<void> f1=QtConcurrent::run();  

f1.isFinished()为true,f1.waitForFinished()可能依然报错。即isFinished()不能说明真正的正确结束。

run执行的函数如果没有正确退出或其他情况,waitForFinished极易报错。

可以参考遇到此问题的博客QFuture.isFinished()为true,QFuture.waitForFinished()竟然报错

 

posted @   夕西行  阅读(172)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示