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

qt高精度定时器的使用停止线程应用

##线程停止

//线程停止应用
public: explicit WorkerThread(QObject *parent = 0) :QThread(parent), m_bStopped(false){qDebug() << "Worker Thread : " << QThread::currentThreadId();}~WorkerThread(){stop();quit();wait();}void stop() {qDebug() << "Worker Stop Thread : " << QThread::currentThreadId();QMutexLocker locker(&m_mutex);m_bStopped = true; }

高精度定时器

在 Qt 中,实现高精度计时。该类提供了纳秒级别的计时精度,可以使用其clock_nanosleep()函数来获取从启动计时器开始到当前时间的纳秒数。

以下是一个简单的示例:

#define FREQUENCY 1000
#define     CLOCK_TO_USE         CLOCK_REALTIME
#define     NSEC_PER_SEC         (1000000000L)
#define PERIOD_NS (NSEC_PER_SEC / FREQUENCY ) /*本次设置周期PERIOD_NS为1ms*/
const struct timespec cycletime = {0, PERIOD_NS};
void *thread(void * arg)
{struct timespec wakeupTime, time;clock_gettime(CLOCK_TO_USE, &wakeupTime);while (1){wakeupTime = timespec_add(wakeupTime, cycletime);clock_nanosleep(CLOCK_TO_USE, TIMER_ABSTIME, &wakeupTime, NULL);}}
【关注微信公众号一起来交流】

http://www.lryc.cn/news/210356.html

相关文章:

  • Spring Boot Actuator 介绍
  • 【MATLAB】安装Psychtoolbox
  • 【Python机器学习】零基础掌握GradientBoostingClassifier集成学习
  • RFNet模型数据集采集处理流程
  • sql-50练习题6-10
  • 【刷题宝典NO.1】
  • 如何在深度学习领域取得个人的成功
  • 数据结构【DS】B树
  • Chatgpt网页版根据关键词自动批量写原创文章软件【可多开自动登录切换gpt账号】
  • 研发效能认证学员作品:快速进行持续集成应用实践丨IDCF
  • 中文编程开发语言工具系统化教程零基础入门篇和初级1专辑课程已经上线,可以进入轻松学编程
  • 2024年最新水果音乐制作软件FL Studio21需要多少钱呢?
  • 当生成式AI遇到业务流程管理,大语言模型正在变革BPM
  • Kotlin数据流概览
  • npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
  • 036-第三代软件开发-系统时间设置
  • C语言:杨氏矩阵、杨氏三角、单身狗1与单身狗2
  • PX4天大bug,上电反复重启,连不上QGC!
  • 归并排序——
  • 阿里云企业邮箱基于Spring Boot快速实现发送邮件功能
  • 大数据Doris(十三):创建用户和创建数据库并赋予权限
  • 【Unity小技巧】可靠的相机抖动及如何同时处理多个震动
  • Megatron-LM GPT 源码分析(四) Virtual Pipeline Parallel分析
  • IOC课程整理-8 Spring Bean作用域
  • 本地websocket服务端暴露至公网访问【内网穿透】
  • C/C++跨平台构建工具CMake-----灵活添加库并实现开发和生产环境的分离
  • javascript判断对象中是否存在某个字段
  • 网络基础-2
  • 【MySQL索引与优化篇】索引的分类与设计原则
  • 基于Java的民航售票管理系统设计与实现(源码+lw+部署文档+讲解等)