qt-- Qt实现多线程的两种方式:重写run()和moveToThread()通过connect调用

文章探讨了Qt中实现多线程的两种方式,一种是继承QThread并重写run(),另一种是使用moveToThread()配合QObject。QThread子类化时,run()内的代码在子线程运行;而moveToThread()允许将对象移动到指定线程,槽函数可在同一子线程内运行,通过connect参数控制是否在子线程执行。文中还提到了信号槽的连接方式及其影响。

重写run():定义一个线程类,继承与QThread,重写虚函数run(),run里的代码是在子线程执行;
moveToThread():定义一个线程类,继承于QObject,在主线程实例化一个该类的对象,并实例化一个QThread类的对象,前者moveToThread后者,通过信号槽的方式实现多线程,可以定义多个信号槽,槽函数都是在同一个子线程运行,可以通过connect第五个参数控制槽函数是否在子线程运行(多线程下默认是多线程,队列是多线程,直接是在主线程运行槽)。
 

Qt两种线程方式的实现与优缺点对比(及信号槽连接方式)

Qt两种线程方式的实现与优缺点对比(及信号槽连接方式)_qt movetothread的好处_风斜夜的博客-优快云博客

QThread创建多线程之子类化QThread方法

QThread创建多线程之子类化QThread方法_qthread 中创建qthread_allRIGH_T的博客-优快云博客

关于c ++:Qt blockSignals不会阻止第一次额外的点击

关于c ++:Qt blockSignals不会阻止第一次额外的点击 | 码农家园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值