看本篇的文章基础在于你已经懂得了简单的利用moveToThread的方法创建出一个线程.
不会的话可以查看本篇博客

总结:QT 多线程(处理密集时的界面响应保持)
运用:

 MultMoveToThread *testObject = new MultMoveToThread(4);testObject->createItem();testObject->startMultThread();

.h

#ifndef MULTMOVETOTHREAD_H
#define MULTMOVETOTHREAD_H#include <QThread>
#include <QList>
#include "myobject.h"
class MultMoveToThread
{public:MultMoveToThread(int iCount);~MultMoveToThread();    void startMultThread();
private:int iThreadCount;//开启的线程个数QList<MyObject*> myObjectList;//MyObject是我封装的一个继承QOBject的一个类QList<QThread*> threadList;
};#endif // MULTMOVETOTHREAD_H

.cpp

#include "multmovetothread.h"MultMoveToThread::MultMoveToThread(int iCount)
{iThreadCount = iCount;
}MultMoveToThread::~MultMoveToThread()
{for(int i = 0; i < iThreadCount; i++){threadList.value(i)->quit();threadList.value(i)->wait();myObjectList.value(i)->deleteLater();threadList.value(i)->deleteLater();}
}void MultMoveToThread::startMultThread()
{//开始创建出函数for(int i = 0;i < iThreadCount;i++){MyObject *myObject = new MyObject();QThread  *thread = new QThread();        myObject->doAction();//这个函数里放线程主要做的事myObjectList.append(myObject);        threadList.append(thread);//这两步执行完之后, myObject里的实现函数就是通过线程来做的myObject->moveToThread(thread);threadList.value(i)->start();}
}

Qt封装一个类管理moveToThread( )正确的开启多线程、安全的退出线程的实例相关推荐

  1. 封装一个类搞定90%安卓客户端与服务器端交互

    本实例封装了一个处理安卓客户端与服务器端交互的几个方法,对于中文乱码问题本实例也找到了解决方案.本例可以处理的场景如下: 1.与服务器端交互json数据. 2.Get方式与服务器端交互数据. 3.Po ...

  2. Qt 封装一个简单的LED(指示灯)控件

    Qt 封装一个简单的LED(指示灯)控件 1,效果~ 所以 这个简单的LED类可以自定义大小~ 可以点亮或熄灭,也可以闪烁

  3. java封装一个类MyStock存放在cn.com.my包中。

    封装一个类MyStock存放在cn.com.my包中.这个类包括:(1)一个名为id的int数据字段表示股票代码. (2)一个名为name的字符串数据字段表示股票名称. (3)一个名为previous ...

  4. 模仿Spring实现一个类管理容器

    简介: 项目的初衷是独立作出一个成熟的有特色的IOC容器,但由于过程参考Spring太多,而且也无法作出太多改进,于是目的变为以此项目作为理解Spring的一个跳板,与网上的一些模仿Spring的框架 ...

  5. java正确的标识符_按照Java的标识符命名规则,下列表示一个类的标识符正确的是()。...

    按照斜齿圆柱齿轮传动消除间隙方法有哪些?( ) 标的标机床的动力部分是工作台. 识符示识符数控车床的定位精度和重复定位精度是一个概念.( ) 车削运动中进给运动是刀具进给,命名车外圆时,进给运动是刀具 ...

  6. 封装一个类,下载图片、【复制文本和复制图片到粘贴板上,分享到微信、QQ好友】等多功能

    原理:利用canvas处理生成一个新的图片url地址,然后在进行其他操作. 1.html代码 <div class="codeImage-box"><span c ...

  7. java 如何封装类_Java封装一个类怎么实现?

    封装 将某些东西包装在一起,然后以新的完整形式呈现出来: 隐藏属性.方法或实现细节的处理方式称为封装: 封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题. 构建对象的方法 和数组相似 ...

  8. java一个类可以同时被访问吗,Java中两个线程是否可以同时访问同一个对象的两个不同的synchronized方法?...

    public classSyncMethod {public synchronized voidsyncMethod2() {try{ System.out.println("@@@@@@@ ...

  9. C++中运行一个程序的内存分配情况及qt中的内存管理机制

    一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. 2.堆区(heap) - 一 ...

最新文章

  1. mode: 'history', 去掉路由地址的#
  2. 部署及配置Lync Server 2013 监控功能
  3. WCF学习笔记之序列化
  4. 趣味科普丨一文读懂云服务器的那些事儿
  5. RecycleView的网格样式
  6. QVector、QList、QLinkedList类用法区别
  7. 远程升级stm32程序_艾拉比智能成为意法半导体STM32战略合作伙伴
  8. Ajax程序设计入门
  9. 【生信进阶练习1000days】day1-Bioconductor的一些补充小用法与Working with Genomic Ranges
  10. 普林斯顿微积分读本第一章--函数、反函数
  11. RubyOnRails 小小引导(上)
  12. 双系统正确卸载Ubuntu系统
  13. 【二分答案】Problem A:天堂_珍珠
  14. 鸿蒙 OS 2 升级用户破千万!(1000+企业共建鸿蒙生态)
  15. 深度学习 神经网络 神经元 单层神经网络的实现
  16. 使用开源手机邮箱项目——mujMail
  17. 流行编曲宿主DAW的新版本FL Studio 21“即将到来”
  18. python基础 判断题
  19. 这里有一份IT岗位的发展路径送给每一位追梦人
  20. MybatisPlus出现Error querying database. Cause: java.lang.IndexOutOfBoundsException问题

热门文章

  1. Vivado使用心得(三)FANOUT解决办法
  2. 内部视频放送 |《Python安全攻防:渗透测试实战指南》知识星球
  3. CSUST OJ 2020
  4. 网页设计常用颜色16进制代码
  5. 浅谈虚拟主机网站安全设置
  6. python类定义私有成员和私有方法
  7. java山地车碟片卡死怎么办_拿什么来拯救你,我的碟片
  8. javascript实现简单下雨效果
  9. Ubuntu16 服务器环境配置(Nvidia CUDA Docker 深度学习)
  10. hurricane中文_Hurricane Outbreak游戏下载_Hurricane Outbreak游戏中文版下载安装(飓风模拟器) v1.1.9...