1.创建类基于Qthread,重写run函数

头文件里

class Thread : public QThread{public:P* m_p;bool m_is;bool m_b;Thread(){m_b = false;m_p = NULL;m_is = false;}void run();}m_Thread;

2.创建HABDLE 对象

HANDLE m_S_Event;

3.cpp文件下构造函数里创建 CreateEvent

m_S_Event = CreateEvent(NULL, FALSE, FALSE, NULL);

CreateEvent(NULL,TRUE,FALSE,NULL);
1.,确定返回的句柄是否可被子进程继承.如果lpEventAttributes是NULL,此句柄不能被继承。
2.指定将事件对象创建成手动复原还是自动复原。如果是TRUE,那么必须用ResetEvent函数来手工将事件的状态复原到无信号状态。如果设置为FALSE,当一个等待线程被释放以后,系统将会自动将事件状态复原为无信号状态。
3.指定事件对象的初始状态。如果为TRUE,初始状态为有信号状态;否则为无信号状态。
4.指定事件的对象的名称,

4.创建对象开始线程

m_Thread.m_p = this;
m_Thread.m_bExit = true;
m_Thread.start(QThread::LowestPriority);

QThread::setPriority(Priority priority)
这个函数为运行的线程设置了优先级。如果这个线程没有运行,那么这么函数啥事都不会做,并且立即的返回,使用start()可以以指定的优先级开始一个线程。
priority这个参数能够是QThread::Priority这个枚举类型中的任意的值,除了InheritPriorty这个值。
影响priority这个参数的因数是操作系统的调度策略。特别的情况,priority这个参数将不受不支持线程优先级的操作系统的影响(比如linux,具体查看这个连接http://linux.die.net/man/2/sched_setscheduler)。QThread::IdlePriority 当没有其他线程运行的时候才进行调度
QThread::LowestPriority 比LowPriority低的优先级
QThread::LowPriority 比BormalPriority低的优先级
QThread::NormalPriority 操作系统默认的优先级
QThread::HighPriority 比NormalPriority高级的优先级
QThread::HighestPriority 比HighPriority更高级的优先级
QThread::TimeCriticalPriority 调度策略经常被使用
QThread::InheritPriority 给创建的线程赋予目前线程同样的等级(默认情况下就为这个)

5.重写run函数

void P::Thread::run()
{}

6.SetEvent(m_S_Event);

setEvent Qt多线程步骤 基于Qthraed 重写Run函数相关推荐

  1. Qt多线程开发(QThread)

    关于QT多线程开发介绍 QT下线程的创建方式 Qt中主要有两种创建多线程的方式,一种是直接继承QThread重写run()函数来实现,另外一种是将一个继承于QObject的普通类通过moveToThr ...

  2. QT 多线程的实现方法以及GUI线程与其他线程间的通信

    GUI线程 Qt应用程序exec后就会生成一个线程,这个线程就是主线程,在GUI程序中也称为GUI线程.主线程也是唯一允许创建QApplication或QCoreAppliation对象,比并且可以对 ...

  3. Qt多线程之 moveToThread的使用

    Qt中使用多线程有两种方式,一种是自定义的class继承于QThread,并重写run函数,在开始线程时,调用start()方法即可.另一种比较灵活的方式,是使用moveToThread()方法,可以 ...

  4. QT多线程的使用(moveToThread方法)

    QT有两种实现多线程的方法,一种是"子类化QThread,然后去重写run函数,实现多线程".一种是"子类化QObject,然后使用moveToThread函数实现多线程 ...

  5. Qt 多线程显示gif动态图

    文章目录 前言 效果 核心代码 gifThread.h gifThread.cpp widget.h widget.cpp 参考 前言 通过Qt做一些GUI项目时,有时需要去展示一些gif动态图至界面 ...

  6. QT 多线程 使用UI

    直接上代码: qt的ui操作必须在主线程做的,分支线程只能发送消息给主线程进行引导操作. 所以平常我们的代码都是直接使用一个线程来调动UI,但是不同的线程同时需要使用UI来显示结果之类的就需要相互协调 ...

  7. QT多线程run函数不能使用信号与槽

    一.问题描述 今天遇到一个问题,我在一个子线程中定义一个信号与槽函数,然后直接连接,最后会报错Socket notifiers cannot be enabled or disabled from a ...

  8. QT 多线程程序设计 -互斥

    转载:http://www.cnblogs.com/hicjiajia/archive/2011/02/03/1948943.html 老邮局博客 QT通过三种形式提供了对线程的支持.它们分别是,一. ...

  9. Qt 多线程基础及线程使用方式

    文章目录 Qt 多线程操作 2.线程类QThread 3.多线程使用:方式一 4.多线程使用:方式二 5.Qt 线程池的使用 Qt 多线程操作 应用程序在某些情况下需要处理比较复杂的逻辑, 如果只有一 ...

最新文章

  1. .NE 后退刷新验证码
  2. RISC-V 正在成为芯片世界中的 Linux
  3. oracle 全局临时变量,如何解析Oracle PL / SQL中的简单XML片段并将其加载到全局临时表中?...
  4. T400 安装Windows 7 7100 总结
  5. EOS声称的每秒百万级的交易速度靠谱么?
  6. 7.Reverse Integer (INT; Overflow)
  7. TensorFlow保存和载入训练模型
  8. protobuf java 编译_Maven项目中,编译proto文件成Java类
  9. 这21个不太好搜索其含义的特殊符号你都知道吗?
  10. python迭代-可迭代对象与迭代器对象
  11. 格式化代码php,格式化php代码的两种方法
  12. 操作系统面试常问问题
  13. python自动修改论文格式_如何轻轻松松修改论文格式?
  14. 程序员的算法趣题Q62: 日历中的最大矩形
  15. 符号集合近似法SAX
  16. Protothreads:一个“蝇量级” C 语言协程库
  17. win10联想软件商店壁纸的保存目录在哪
  18. 电脑忘记密码了怎么办
  19. 基于北京二手房价数据的探索性数据分析和房价评估——数据的可视化分析
  20. mysql leader/followers_Leader/Followers 模式

热门文章

  1. 美国诚实签经验——医院预约单和医院资料,医生预约收据和报价表,赴美预算,赴美行程,保险是加分项,工作证明(勾出职位和薪酬),附上名片或者工卡,全家福照片...
  2. 细胞生命游戏一维c语言,生命游戏 细胞死亡问题
  3. 地铁通信系统服务器,智能轨道交通-CBN通信系统-佳都科技-掌握四大核心产品的中国轨道交通智能化产品供应商...
  4. OpenProcessToken令牌函数用法
  5. 2062 【例1.3】电影票
  6. mybatis批量添加
  7. BOSS直聘向港交所递交双重主要上市申请
  8. 在图片上显示左右箭头的翻页代码
  9. navicat看执行计划
  10. 速看|期待已久的2022年广州助理检测工程师真题解析终于出炉