VC自带的SDK中为我们提供了一个Sleep函数,此函数的最小单位为毫秒(既千分之一秒);但在实际的应该中(特别是网络数据传输)我们需要更小的休眠单位(微秒),而系统又没有提供相关API,那么我们如何实现微秒(既十万分之一秒)的休眠呢?

我们知道系统中为我们提供了QueryPerformanceFrequency与QueryPerformanceCounter等相关API,而这些API的时间单位都是微秒及的;这为我们实现微秒休眠提供了思路;为了实用起见我们就直接给出函数代码,代码如下:

// lTime----休眠时间(微秒)// bProcessMsg----休眠时是否处理系统消息void MSleep( long lTime, bool bProcessMsg ){LARGE_INTEGER litmp; LONGLONG QPart1,QPart2;double dfMinus, dfFreq, dfTim, dfSpec; QueryPerformanceFrequency(&litmp);dfFreq = (double)litmp.QuadPart;QueryPerformanceCounter(&litmp);QPart1 = litmp.QuadPart;dfSpec = 0.000001*lTime;do{if ( bProcessMsg == true ){MSG msg;PeekMessage(&msg,NULL,0,0,PM_REMOVE);TranslateMessage(&msg); DispatchMessage(&msg);} QueryPerformanceCounter(&litmp);QPart2 = litmp.QuadPart;dfMinus = (double)(QPart2-QPart1);dfTim = dfMinus / dfFreq;}while(dfTim<dfSpec);}

转载于:https://www.cnblogs.com/rogee/archive/2011/02/15/1954980.html

VC实现微秒(十万分之一秒)休眠相关推荐

  1. 皮秒 纳秒 微秒 毫秒 秒 ps、ns、us、ms、s 时间单位之间的换算

    皮秒 纳秒 微秒 毫秒 秒 ps.ns.us.ms.s 时间单位之间的换算 1,000,000,000,000皮秒=1秒 (12个0)ps -> s 1,000,000,000纳秒=1秒     ...

  2. 秒 毫秒 微秒 纳秒 皮秒

    0.000 001 微秒 = 1皮秒 0.001 微秒 = 1纳秒 微秒 1,000 微秒 = 1毫秒 1,000,000 微秒 = 1秒 1s = 1000ms 1ms = 1000μs 1μs = ...

  3. 微秒, 纳秒,毫秒, 时间单位换算

    秒也是一个的时间单位,0.000 000 001 毫秒 = 1皮秒,0.000 001 毫秒 = 1纳秒,0.001 毫秒 = 1微秒,1毫秒等于0.001秒,60秒等于1分钟,60分钟等于1小时,2 ...

  4. 秒 毫秒 微秒 纳秒 皮秒。。时间单位换算

    1s=1000ms=1000000微秒=1000000000纳秒=1000000000000皮秒=10^15飞秒=10^18啊秒=10^21仄秒=10^24幺秒 1s=10^3ms(毫秒)=10^6μ ...

  5. 秒 毫秒 微秒 纳秒 Hz KHz MHz GHz

    1S = 1000 毫秒 m 1S = 1000000 微秒 u 1S = 1000000000 纳秒 n 1S = 1000000000000 皮秒 p ... 1Hz 电磁脉冲 每秒钟周期震动 1 ...

  6. Linux C 获取系统时间秒/毫秒/微秒/纳秒

    #include <stdio.h> #include <string.h> #include <sys/time.h> // gettimeofday #incl ...

  7. 秒 毫秒 微秒 纳秒 皮秒 飞秒

    millisecond              1ms (毫秒)       1毫秒=0.001秒=10-3秒 microsecond           1μs (微秒)         1微秒= ...

  8. 计算耗时为微秒的方法(包含:时/分/秒/毫秒/微秒/纳秒)

    计算耗时为微秒的方法1 #include<stdio.h> #include <windows.h> int main() {int a[10002];int i = 0;do ...

  9. 秒,毫秒,微秒,纳秒,皮秒,飞秒

    转载于:https://www.cnblogs.com/zb-ml/p/8988940.html

最新文章

  1. TensorFlow 2.0发布在即,高级API变化抢先看
  2. 【Webview相关问题】登陆失败之cookie陷阱
  3. USACO SEC.1.3 No.1 Mixing Milk
  4. html拖拽模态框,可拖拽的谷歌样式纯javascript模态窗口插件
  5. html5文本超过指定行数隐藏显示省略号
  6. java 多线程数据分发_使用Java多线程实现任务分发
  7. 电力电子、电机控制系统的建模和仿真_电力传动控制系统:运动控制系统
  8. php上js实现ajax请求,原生JS实现ajax与ajax的跨域请求实例
  9. atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制
  10. 如何下载斗鱼回放视频(纯手工)
  11. 西门子224XP型PLC和MCGS触摸屏控制MM420变频器
  12. 用SPSS做正态分布检验
  13. 数据库基础之14(MongoDB基本数据类型,数据导入导出,数据备份与恢复)
  14. 2020年下半年信息安全工程师下午真题及答案解析
  15. 11.全站乱码过滤器
  16. 软件附加截图功能(QQ,360浏览器)
  17. 使用Python开发一个恐龙跑跑小游戏,玩起来
  18. 管理计算机域的内置账户怎么取消,如何删除供来宾访问计算机或访问域的内置账?...
  19. 【QImage类常用函数】
  20. 盘点2019年PHP高级开发工程师面试题及答案汇总

热门文章

  1. 二叉树的前中后序遍历之迭代法(统一风格迭代方式)
  2. 增加外键时候的一个小错误
  3. [Bugku CTF——Pwn] pwn4
  4. java 倒计时_java倒计时器
  5. python函数参数列表中的*与**
  6. 在Windows XP系统登录Active Directory域
  7. Confluence与Jira整合之统一用户管理
  8. 属性,类方法,静态方法,反射
  9. 爬虫图谱(个人整理使用)
  10. PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)