Sleep()—让当前线程停下来
Sleep函数可以使计算机程序(进程,任务或线程)进入休眠,使其在一段时间内处于非活动状态。当函数设定的计时器到期,或者接收到信号、程序发生中断都会导致程序继续执行。
1 | 在Windows系统中: |
WaitForSingleObject()—自己停下来,等待某个事件发生
GetTickCount()
GetTickCount是一种函数。GetTickCount返回(retrieve)从操作系统启动所经过(elapsed)的毫秒数,它的返回值是DWORD。
常常用来判断某个方法执行的时间
1 | //代替time函数来初始化随机数生成器 |
QueryPerformanceFrequency()、QueryPerformanceCounter()—访问到精度更高的CPU数据
QueryPerformanceFrequency是操作系统的性能统计分辨率,也就是每秒钟统计多少次的意思。 性能统计频率和应用程序性能没有关系。
QueryPerformanceCounter 是系统性能统计计数器,表示统计了多少次,除以QueryPerformanceFrequency,得到系统运行时间(秒数)。
QueryPerformanceCounter2-QueryPerformanceCounter1,得到高精度(微秒级,=1/QueryPerformanceFrequency秒)的时间差,常用于winddows高精度计时。
timeGetSystemTime()—另一个得到高精度时间的方法
timeGetSystemTime,函数返回系统时间,(毫秒)。这里的系统时间是指自从系统启动时到调用该函数时的时间间隔。
PerformanceCounter()—效能计数器
GetProcessorInfo()/SetThreadAffinityMask()—遇到多核的问题时候更好地控制CPU
GetCPUTickCount()—得到CPU核心运行周期数
让CPU占用率曲线听你指挥
CPU占用率固定在50%,为一条直线
CPU占用率为一条直线,具体占用率由命令行参数决定(参数范围1-100)
CPU占用率状态是一个正弦曲线
1 | const DWORD busyTime = 10; //10ms |