开发中经经常使用GetTickCount()函数来进行间隔时间的推断。如推断某一段代码运行花了多少时间等,使用比較方便。

可是仅仅针对寻常的一些測试。近期开发一个服务程序时,也在代码中用GetTickCount()来进行推断,大体格式例如以下:

DWORD dwBegin = 0;

void Thread_Run(void)
{
while(TRUE)
{
DWORD dwNow = GetTickCount();
if (dwNow - dwBegin > 30) //second
{
....//
dwBegin = dwNow;
}
}
}

问题来了,GetTickCount()返回的是DWORD类型,返回的值代表程序从启动到如今走过的时间。

DWORD类型的最大值为4294967295,折算成天是49.7。也就是说当服务程序连续跑了50天之后,再调用GetTickCount()的时候就会发生溢出。所以服务程序尽量不要用GetTickCount()。

假设要推断间隔时间能够用1970年以来的秒数差来计算。


最新文章

  1. Nehe Opengl
  2. C#4.0 特性
  3. MySQL Got fatal error 1236原因和解决方法【转】
  4. 【POJ】2449 Remmarguts' Date(k短路)
  5. magento url rewrite using config.xml
  6. TTL值的含义以及与域名DNS TTL值的区别
  7. MySQL ddl丢表
  8. python3编码问题
  9. javascript常用方法(慢慢整理)
  10. cmd编译运行Java文件详解
  11. Oracle如何禁止并行
  12. SQLite数据库操作 (原始操作)
  13. 解决mac下atom安装插件失败问题
  14. Hadoop系列003-Hadoop运行环境搭建
  15. python json相关问题
  16. k64 datasheet学习笔记3---Chip Configuration之Analog
  17. EF 下如何更新数据表数据
  18. 剥开比原看代码03:比原是如何监听p2p端口的
  19. js实现图片粘贴上传到服务器并展示
  20. Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第7节: 获取异线程释放的对象

热门文章

  1. OpenCV和Boost C++库的安装
  2. UVA Live 6437 Power Plant 最小生成树
  3. kibana- Pie
  4. 网页结构——head标签内
  5. springboot + 拦截器 + 注解 实现自定义权限验证
  6. quartz Cron-Expression的表达式
  7. form表单提交之前判断
  8. hmac的python实现
  9. Nginx 服务并发过10万的Linux内核优化配置
  10. .Net程序测试使用阿里云OCS开放缓存服务