思路描述:
- 1 使用QueryPerformanceXXX函数实现定时等待线程;
- 2 等待线程中周期向外发送系统事件;
- 3 类提供阻塞函数block(),方便用户放在周期处理的代码块开头。
源码:
#include "stdafx.h"
#include<Windows.h>
#include<map>
#include <string>
#include <fstream>
using namespace std;
#include <process.h>
//参数一表示 需要等待的时间 微秒为单位
int UsSleep(int us)
{
//储存计数的联合
LARGE_INTEGER fre;
//获取硬件支持的高精度计数器的频率
if (QueryPerformanceFrequency(&fre))
{
LARGE_INTEGER run,priv,curr;
run.QuadPart = fre.QuadPart * us / 1000000;//转换为微妙级
//获取高精度计数器数值
QueryPerformanceCounter(&priv);