重写run():定义一个线程类,继承与QThread,重写虚函数run(),run里的代码是在子线程执行;
moveToThread():定义一个线程类,继承于QObject,在主线程实例化一个该类的对象,并实例化一个QThread类的对象,前者moveToThread后者,通过信号槽的方式实现多线程,可以定义多个信号槽,槽函数都是在同一个子线程运行,可以通过connect第五个参数控制槽函数是否在子线程运行(多线程下默认是多线程,队列是多线程,直接是在主线程运行槽)。
Qt两种线程方式的实现与优缺点对比(及信号槽连接方式)
Qt两种线程方式的实现与优缺点对比(及信号槽连接方式)_qt movetothread的好处_风斜夜的博客-优快云博客
QThread创建多线程之子类化QThread方法
QThread创建多线程之子类化QThread方法_qthread 中创建qthread_allRIGH_T的博客-优快云博客
文章探讨了Qt中实现多线程的两种方式,一种是继承QThread并重写run(),另一种是使用moveToThread()配合QObject。QThread子类化时,run()内的代码在子线程运行;而moveToThread()允许将对象移动到指定线程,槽函数可在同一子线程内运行,通过connect参数控制是否在子线程执行。文中还提到了信号槽的连接方式及其影响。
1997

被折叠的 条评论
为什么被折叠?



