qt 多线程的两种实现方式

来源:互联网 发布:如何运用办公软件 编辑:程序博客网 时间:2024/06/07 01:22
一. qt4.7版本之前使用的方法(新版本依然可以用)
1. 自己写一个类,派生自QThread
2. 在该类中有一个虚函数 --- run
3. 通过信号槽与主线程通信
主线程中
4. 创建子线程对象
5. 启动子线程start()槽函数 --- run()函数自动被调用




二. qt4.7版本之后使用的方法
1. 将要在子线程中做的操作抽象为一个类(Mywork)
2. 自定义一个处理函数
3. 使用信号槽进行通信(必须从QObject类派生)
在主线程对应位置
4. 创建子线程对象(QThread)
5. 创建一个抽象出来的业务类对象(Mywork work)
6. 将业务类对象移动到子线程中(work.moveToThread(&thread))
7. 启动子线程(thread.start()),此时业务类对象还没开始工作
8. 通过信号槽方式,通知业务对象,调用业务处理函数开始工作
0 0
原创粉丝点击