用QObject实现多线程

用QObject实现多线程(好处,自带事件循环)
1、Worker继承QObject,实现工作函数并把其作为public slot,再给一个工作完成的signal
2、new一个QThread和Worker,然后Worker调用moveToThread,这样Worker就会工作在新线程了
3、连接QThread的finished信号,分别删除QThread和Worker
4、连接一个启动触发信号,槽为Worker的工作函数,用这种信号槽的连接方式才会使得以QueueConnection的方式来触发新线程的Worker的工作函数
5、连接Woker的完成信号,处理工作完成的场景
6、QThread调用start,启动新线程

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 为什么在头文件中有的是使用前置声明,而有的是包含头文件? 如下代码: 前置声明(forward declarati...
    Joe_HUST阅读 1,317评论 0 6
  • 姓名:郭金 学号:17101223407 【嵌牛导读】:之前看到一个用jstack查看死锁的例子。总结了一下:js...
    宝宝啦啦啦阅读 817评论 0 0
  • 第一部分 来看一下线程池的框架图,如下: 1、Executor任务提交接口与Executors工具类 Execut...
    压抑的内心阅读 4,280评论 1 24
  • 这几年一直用灯塔的本本写日记,希望能坚持一年一本,一年买一个颜色! (我不会说我已经把明年的本子都买好了(*/ω\...
    SugarLYS阅读 330评论 4 5