一.继承QThread
使用步骤如下:
1.新建一个类,基类为QThread。
2.重写类MyThread的虚函数void run();,即新建一个函数protected void run(),然后对其进行定义。
3.在需要用到多线程的地方,实例MyThread,然后调用函数MyThread::start()后,则开启一条线程,自动运行函数run()。
4.当停止线程时,调用MyThread::wait()函数,等待线程结束,并且回收线程资源。
二.继承QObject
使用步骤如下:
1.新建一个类,基类为QObject。
2.通过moveToThread将派生类对象移动到一个QThread中。
3.通过信号连接派生类的槽函数,将耗时的工作放到这个槽函数中运行。
4.用信号QThread::finished绑定槽函数QThread::deleteLatater(),在线程退出时,自动销毁该线程和相关资源。
5.通过QThread的start()函数开启多线程。

本文详细介绍了在Qt中实现多线程的两种方法:继承QThread和继承QObject。通过具体步骤,展示了如何创建和管理线程,包括启动、运行、停止及资源回收的过程。

5744

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



