• Windows API 纳秒级别延迟


    以下代码为搜集资料数小时整理出来:延时1秒  

    HANDLE hTimer = NULL;
    LARGE_INTEGER liDueTime;
    liDueTime.QuadPart = -10000*1000;
    hTimer = ::CreateWaitableTimer(NULL,TRUE,NULL);
    ::SetWaitableTimer(hTimer,&liDueTime,0,NULL,NULL,0);
    ::WaitForSingleObject(hTimer,INFINITE);
    ::CloseHandle(hTimer);

    以下为直接搜索boost库源码,找出相关函数

     boost::this_thread::interruptible_wait(1000);

    (泪奔啊。。。)折腾这么久,竟然在现成的库里面~

    不过收获颇丰。呵呵

    另外附加计算代码运算时间,对应boost库是否有暂未查找。

    LARGE_INTEGER litmp;
    LONGLONG QPart1, QPart2, QFre;
    QueryPerformanceFrequency(&litmp);
    QFre = litmp.QuadPart; // 获得计数器的时钟频率
    QueryPerformanceCounter(&litmp);
    QPart1 = litmp.QuadPart; // 获得初始值
    
    // ... 目标指令 
    
    QueryPerformanceCounter(&litmp);
    QPart2 = litmp.QuadPart;//获得中止值
  • 相关阅读:
    数据持久化的基础知识
    svn常用命令
    关于SVN 目录结构
    linux查看CPU信息
    一个服务器上启动两台tomcat
    centos6.0 配置SVN
    mysql插入表情
    MAC 安装 PIL
    安装freetype
    Hadoop基本文件命令
  • 原文地址:https://www.cnblogs.com/wuyaSama/p/1882226.html
Copyright © 2020-2023  润新知