GetTickCount函数

GetTickCount()返回操作系统启动以来的毫秒数,常用于计算程序的运行时间或者判断程序中某段代码执行的时间。需要注意的问题有:

  1. GetTickCount()结果会受系统时间的修改影响,如果通过手动修改系统时间,则可能会导致计算出的时间不准确;

  2. GetTickCount()精度有限,误差范围在10ms左右,若需要更高精度的计时方法,可以使用Performance Counter;

  3. 在多核处理器上,GetTickCount()计算的是所有核心的总运行时间,而不是当前线程的运行时间。因此,若需要针对某个线程的计时,可以使QueryPerformanceCounter。

GetTickCount函数的精度在不同版本的Windows系统中有所不同。在Windows NT 3.5以及以后的版本中,GetTickCount的精度是10毫秒(ms)。而在Windows XP和Windows 7系统中,GetTickCount的精度略有不同,其中Windows XP中的精度是10毫秒,而Windows 7中的精度是1毫秒。因此,对于实时控制等要求较高精度的应用,可能需要使用QueryPerformanceFrequency和QueryPerformanceCounter这两个函数,它们可以提供更高的精度,但要求计算机从硬件上支持高精度计时器。

不过,Windows不是实时操作系统,如果任务太多,或者有其他中断请求,都可能导致程序运行时的延迟不精确,一般的Windows程序也可以接受。如果你对时间精度要求很高,一般只有使用Windows的实时扩展RTX,或者使用其他实时操作系统,如VXWorks等。

相关推荐
雪风飞舞8 分钟前
conda 常用命令
linux·windows·conda
寺中人17 分钟前
ms 17-010 永恒之蓝复现
windows·永恒之蓝
ChoSeitaku1 小时前
16.C++入门:list|手撕list|反向迭代器|与vector对比
c++·windows·list
酒醉的胡铁1 小时前
Docker Desktop 数据迁移完整流程(Windows 10/11 x64)
windows·docker·容器
YJlio1 小时前
Registry Usage (RU) 学习笔记(15.5):注册表内存占用体检与 Hive 体量分析
服务器·windows·笔记·python·学习·tcp/ip·django
星火开发设计2 小时前
Python数元组完全指南:从基础到实战
开发语言·windows·python·学习·知识·tuple
hudawei9963 小时前
win和Mac在创建python虚拟环境,启动环境等操作的异同
windows·python·macos·虚拟环境
亮子AI3 小时前
Windows 桌面软件用什么框架开发好?
windows
非凡ghost3 小时前
12-Ants(轻量级桌面娱乐工具)
windows·学习·娱乐·软件需求
武藤一雄13 小时前
C# 关于多线程如何实现需要注意的问题(持续更新)
windows·后端·microsoft·c#·.net·.netcore·死锁