zoukankan      html  css  js  c++  java
  • 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;//获得中止值
  • 相关阅读:
    动态存储区(堆)、动态存储区(栈)、静态存储区、程序代码区
    auto, extern, register, static
    #include <iomanip>
    use
    ZooKeeper某一QuorumPeerMain挂了
    python 中的 字符串 列表 元祖 字典
    JAVA的23种设计模式
    spark job分析
    Spark1
    SQL三大范式
  • 原文地址:https://www.cnblogs.com/wuyaSama/p/1882226.html
Copyright © 2011-2022 走看看