首页 > 其他分享 >timeBeginPeriod 高精度定时器 Sleep

timeBeginPeriod 高精度定时器 Sleep

时间:2024-02-23 09:57:15浏览次数:23  
标签:定时器 高精度 mLog Sleep timeBeginPeriod 精度

#include "timeapi.h"
#pragma comment(lib, "winmm")
//
DWORD __stdcall ThreadTest(LPVOID pThreadParam)
{
    CLog mLog;
    int i = 100;
    timeBeginPeriod(1);//1表示1ms精度
    while (i--)
    {
        mLog.WriteLog("%d", i);
        Sleep(1000);
    }
    timeEndPeriod(1);
    return 0;
}

测试结果,不使用timeBeginPeriod 的Sleep精度是15ms,使用timeBeginPeriod 的Sleep精度是3ms

大幅提高精度但也大幅提高了cpu占用率,如果sleep更小还是误差大的,要用其他办法

 

标签:定时器,高精度,mLog,Sleep,timeBeginPeriod,精度
From: https://www.cnblogs.com/ckrgd/p/18028713

相关文章

  • Windows高精度定时器
     自从上次封装微秒延时函数后,利用空闲时间试着封装一个微秒定时器(类似MFC定时器形式)使用起来效果还不错。 关于定时器的几点介绍:  1.设计采用了自动释放定时器节点方式(增加虚析构函数在内部做相关释放判断,即使用完不释放节点也没关系);  2.设计采用了双向链表方......
  • 基于ATMega16定时器T1产生PWM的实例
    本例讨论ATMega16中通过定时器T1产生脉冲波形(含PWM)的具体过程,利用汇编程序实现CTC方式、快速PWM模式、相位修正PWM模式和相频修正PWM模式等实例。定时器T1与定时器T0、T2不一样,它具有16位结构,除了能实现更长时间的定时外,它还具有很多附加功能,比T0、T2要复杂一些。另外,T1还有一个很......
  • 【Flink】复函数的使用,时间服务和定时器,值、列表、字典状态变量
    【Flink】复函数的使用,时间服务和定时器,值、列表、字典状态变量文章目录一FlinkDataStreamAPI1复函数2自定义输出到下游设备二处理函数1KeyedProcessFunction的使用(1)时间服务和定时器2状态变量(1)值状态变量a需求一b需求二(2)列表状态变量(3)字典状态变量一Fl......
  • golang 死锁 all goroutines are asleep - deadlock!
    channel死锁packagemainimport"fmt"funcmain(){ch:=make(chanstring)fori:=0;i<10;i++{s:=<-chfmt.Println(s)}gofunc(chchanstring){fori:=0;i<10;i++{......
  • asp.net 托管服务 后台任务 定时器任务
    托管服务1\1.txtthisisatestfile托管服务1\appsettings.Development.json{"Logging":{"LogLevel":{"Default":"Information","Microsoft.AspNetCore":"Warning"}}}托管服......
  • golang定时器之timer+ticker
    转载: https://juejin.cn/post/7327157426298011663 Timer是一个一次性的定时器,用于在未来的某一时刻执行一次操作。基本使用创建Timer定时器的方式有两种:NewTimer(dDuration)*Timer:该函数接受一个time.Duration类型的参数d(时间间隔),表示定时器在过期之前等待的......
  • FreeRTOS--软件定时器
    示例源码基于FreeRTOSV9.0.0软件定时器1.概述软件定时器用来在未来某个时间点执行某个动作,或者周期性地执行某个动作;软件定时器的实现依赖于系统滴答中断。2.设计原理定时器分为单次定时器和周期定时器,定时时间到执行注册的回调函数。单次定时器触发后即睡眠(不会销毁,依旧......
  • C++第五十五篇-定时器SetTimer
    使用的一个百度AI代码生成网站: https://yiyan.baidu.com/定时器的实现示例:新建一个程序 编写ConsoleApplication1.cpp#include<iostream>#include<Windows.h>usingnamespacestd;#pragmacomment(lib,"User32.lib")//首先定义一个计时器计时事件的定义#define......
  • Jmeter固定定时器
    固定定时器(ConstantTimer),每个线程在请求之间暂停相同的时间。时间单位是毫秒,1000毫秒=1秒组件路径:线程组->右键添加->定时器->固定定时器 1、固定定时器放在线程组外面,则所有线程里面的请求之间都暂停相同的时间2、 固定定时器放在线程组里面且在请求外面,则该线程组里......
  • flink定时器使用问题
    flink定时器使用问题        flink定时器的使用,需要涉及flinktime、watermark、keyStream、keyState等概述,尽管关于flinktime和watermark的文章烂大街,但还是有必要先简单介绍一下,有助于解释下面flink定时器使用遇到的问题。时间模型        flink在stream......