当前位置: 首页 > news >正文

建站行业成为买方市场华辰合肥企业展厅设计公司

建站行业成为买方市场,华辰合肥企业展厅设计公司,产品宣传短视频制作,怎么样开发app软件源码见 testQThread_QTimer… Qt 版本5.6.3 视频讲解#xff1a;https://www.bilibili.com/video/BV15P411C79i/ 链接: 视频讲解 简介 想法很单纯#xff0c;就是主线程启动一个子线程#xff0c;子线程里启动一个定时器#xff0c;定时执行一些任务#xff0c;然鹅实际开… 源码见 testQThread_QTimer… Qt 版本5.6.3 视频讲解https://www.bilibili.com/video/BV15P411C79i/ 链接: 视频讲解 简介 想法很单纯就是主线程启动一个子线程子线程里启动一个定时器定时执行一些任务然鹅实际开发中警告不断。Qt 警告内容有 1.QObject: Cannot create children for a parent that is in a different thread. 2.QObject::killTimer: Timers cannot be stopped from another thread 3.QObject::moveToThread: Cannot move objects with a parent 对线程和线程对象的理解 线程对象是一个内核对象就和常用的打开文件会获得一个文件句柄的句柄都属于稀缺的资源。线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个进程可以包含多个线程,每个线程可以并发执行不同的任务。 一个进程一定有一个主线程子线程是从主线程启动的。线程的关键特性除了并发性其实还有一个比较隐晦就是线程的模块性。这是因为线程执行内容总应该是负责某块功能具有一定独立性。举例来说main.exe启动一个独立的线程来定时检查更新显然这个线程负责的功能就很明确如果更新检查除了问题就检查这个线程涉及的所有代码。 线程的退出一般情况线程干完活就自动释放了。还是拿上面的检查线程来说如果他的使命是检查5次是否有更新则检查完5次没干的了这个线程就会退了。除非是一直检查这个线程才会一直运行下去。 关于QThread QThread这个类封装了对线程对象的管理相当于我们雇佣了一个工人需要发个工牌来知道都有哪些工人通过工牌的工号发布指令。显然如果只有一个主线程就不需要了因为系统已经干了。 具体到QThread的用法主流的就2种。后续有代码解析。 方法一继承QThread并重写run方法、 方法二将代码逻辑封装为一个类 关于QTimer QTimer用于执行一些定时任务往往采用信号槽的方式连接timeout()函数至槽函数。 QTimer的启动、停止、创建、销毁都需在同一个线程中。主线程中用的很easy一旦涉及到子线程使用难度就上来了需要保证QTimer的创建、启动、停止、销毁都是在同一线程。而往往我们都是在各种槽函数中对定时器停止。 Qt 槽函数到底执行在哪个线程 解决开篇警告的核心是搞清楚槽函数执行在哪个线程以及为啥执行在那个线程。 这个答案来于互联网然而我实测的结果不是这样的。 在多线程的Qt程序中,一个槽函数的执行线程是由发出信号的线程决定的,而不是连接该信号的线程。 具体来说: 如果信号是在主线程发出的,则槽函数会在主线程执行,即使该槽函数是在其他线程中连接的。如果信号是在非GUI线程发出的,则槽函数会在该非GUI线程执行,即使是在主线程中连接的。槽函数总是会在信号发出的线程中执行。 ** 构造函数的执行顺序 看似简单我只要保证emit是在哪个线程即可。但实际开发中涉及类的组合关系A类的成员类B类在调用A类的构造之前会先调用B类的构造B类的构造而B类的构造还是在上一级的线程中。这也就导致了类A被moveToThread之后成了线程m_thred的资源而A的B成员则还是主线程的资源。 class CB{ public:CB(){} private: } class CA{ public:CA(){ moveToThread(m_thread); } private:CB m_b; QThread m_thread; }总结 槽函数执行在哪个线程取决于发出信号的对象和槽函数的对象是在哪个线程构造的。要想保证成员类的槽函数都执行在子线程成员类的构造就需在子线程也就是成员类要以指针的方式组合在合适的时机new对象出来。
http://www.w-s-a.com/news/598652/

相关文章:

  • 做网站沈阳掌握夏邑进入公众号
  • 怎么做自动提卡网站谷歌推广怎么做
  • 大同网站建设熊掌号wordpress 首页单页
  • 青岛网站美工成都优秀网站建设
  • 聊城大型门户网站建设多版本wordpress
  • 建网站的公司 快云wordpress的搜索
  • 贷款网站模版东莞网站建设哪家专业
  • 做做网站已更新878网站正在建设中
  • dz旅游网站模板网站上做百度广告赚钱么
  • 青岛外贸假发网站建设seo优化名词解释
  • 四川建设厅网站施工员证查询网站建设行业政策
  • 网站全站出售dw怎么设计网页
  • 合肥网站建设方案服务网站建设推荐郑国华
  • 襄阳网站建设需要多少钱台州网站设计公司网站
  • 东莞专业拍摄做网站照片如何在百度上发布自己的广告
  • 网站建设费 科目做网站建设最好学什么
  • php商城网站建设多少钱深圳市建设
  • 有什么做糕点的视频网站黄岛做网站
  • 做视频课程网站建设一个普通网站需要多少钱
  • 专做化妆品的网站合肥做网站建设公司
  • 唐山企业网站网站建设费计入那个科目
  • 企业网站制作运营彩虹云主机官网
  • 如何建设废品网站如何在阿里云云服务器上搭建网站
  • 如何建立网站后台程序wordpress 后台管理
  • 山东外贸网站建设怎么样wordpress首页左图右文
  • 志丹网站建设wordpress 形式修改
  • 南通seo网站推广费用网站建设就业前景
  • 自适应网站做mip改造浏览器广告投放
  • 网站meta网页描述网站的推广费用
  • 偃师市住房和城乡建设局网站网站个人主页怎么做