您现在的位置是:首页 > 正文

Qt 多线程开启定时任务

2024-01-30 21:12:54阅读 0

项目场景:

多线程执行一些耗时操作,并且需要固定时间去轮询。


代码:

#include <QThread>
#include <QTimer>
#include <QtCore/QMutex>


class pollingManager : public QObject {
    Q_OBJECT

  public:
    static pollingManager*getInstance() {
        if ( !instance ) {
            instance = new pollingManager();
        }
        return instance;
    }
    void startTimerThread();

  signals:
    void timeout( void );
  slots:
    void timeoutHandle( void );
  
  private:
    pollingManager() {}
    ~pollingManager() {}
    static pollingManager*instance;
    class pollingTimerThread : public QThread {
      public:
        void run() override;
    };
};


#endif // A7TIMERPOLLDEVICE_H



.cpp

#define POLLING_TIMER 600
pollingManager *pollingManager ::instance  = nullptr;
void pollingManager ::startTimerThread() {
    qDebug( "startA7TimerThread" );
    pollingTimerThread*thread = new A7TimerThread();
    thread->setObjectName( "pollingThread" );
    thread->start();
}

void pollingManager ::pollingTimerThread::run() {
    QTimer timer;
    timer.setInterval( POLLING_TIMER);
    connect( &timer, &QTimer::timeout, []() {
        timeoutHandle();
    } );
    timer.start();
    exec();
}

网站文章

  • https://blog.csdn.net/qq_38410730/article/details/90116695

    摘自:https://blog.csdn.net/qq_38410730/article/details/90116695 https://blog.csdn.net/weixin_33700350/...

    2024-01-30 21:12:47
  • Vue中用计算属性来实现过滤(比watch来实现好一点)

    Vue中用计算属性来实现过滤(比watch来实现好一点)

    Vue中用计算属性来实现过滤(比watch来实现好一点

    2024-01-30 21:12:18
  • [大、小根堆应用总结一]堆排序的应用场景

    前言 在整理算法题的时候发现,大根堆(小根堆)这种数据结构在各类算法中应用比较广泛,典型的堆排序,以及利用大小根堆这种数据结构来找出一个解决问题的算法最优解。因此,我打算单独将关于堆的应用独立总结出来,后面每遇到一种跟堆结构相关的应用都放到这个目录下。堆的定义 n个关键字序列L[1…n]称为堆,当且仅当该序列满足: 1. L(i)<=L(2i)且L(i)<=L(2i+1)或

    2024-01-30 21:12:10
  • Luogu-P1941 飞扬的小鸟

    Luogu-P1941 飞扬的小鸟

    题目题目链接测试得分:  100主要算法:  DP(零一背包,完全背包)题干:   背包组合问题应试策略:每一个点都是由前面的状态转移的,并且对后面的状态没有影响,满足最优化原理与无后效性原则,选择算法DP对于图上的每一个点都是由前一列降下来或者是前面升上来的,对于降下来的情况是...

    2024-01-30 21:12:02
  • Windows内核和Linux内核比较

    Windows内核和Linux内核比较

    Windows内核和Linux内核比较

    2024-01-30 21:11:25
  • 关于C语言自定义函数浅谈

    关于C语言自定义函数浅谈

    如果函数不接收用户传递的数据,那么定义时可以不带参数。如下所示:123//bodydataType 是返回值类型,它可以是C语言中的任意数据类型,例如 int、float、char 等。functio...

    2024-01-30 21:11:18
  • [MySQL]聚合函数与分组

    [MySQL]聚合函数与分组

    1. 聚合函数介绍 1.1 什么是聚合函数 1.2 常用的聚合函数 2. 常用的聚合函数 2.1 AVG() 2.2 SUM() 2.3 MAX() 2.4 MIN() 2.5 COUNT() 2.6 补充 3. GROUP BY 3.1 分组的基本使用 3.2 使用多个列分组 3.3 结论 3.4 WITH ROLLUP 4. HAVING

    2024-01-30 21:10:43
  • 二分图相关

    二分图相关一、染色法判定二分图二分图要求边的两端点处于不同的集合,那么将两端点分别染成不同的颜色,如果没有冲突,则说明是二分图。首先是dfs函数,深搜进行染色:bool dfs(int u,int c...

    2024-01-30 21:10:36
  • 在ML中缺乏数据可是个大问题,亲测有效的5种方法帮您解决

    在ML中缺乏数据可是个大问题,亲测有效的5种方法帮您解决

    https://www.toutiao.com/a6701193162699833859/ 在我做过的很多项目中,公司虽然有非常棒的AI商业创意,但当他们意识到自己没有足够的数据时,却会慢慢的变得沮丧起来。然而,确实有解决的方案。本文的目的是简要地向你介绍其中的一些在我的实践中已经证明有效的方法,而不是列出所有现有的解决方案。 数据稀缺问题非常重要,因为数据是任何人工智能项目的...

    2024-01-30 21:10:30
  • JavaWeb学习笔记——jQuery动画、事件

    jQuery-3动画方法练习:品牌显示事件文档加载事件绑定事件移除事件冒泡事件对象练习:图片跟随 动画 方法 基本: show([speed,[easing],[fn]]) 显示 hide([spee...

    2024-01-30 21:10:01