sleep()是怎么实现的
cl002 2004-01-19 10:44:29 要将线程进行微妙几级挂起,现在是这样干的:
QueryPerformanceCounter(&litmp);
QPart1 = litmp.QuadPart;
while(ulElapse < m_ulSamCycle)
{
EnterCriticalSection(&m_cs);
QueryPerformanceCounter(&litmp);
QPart2 = litmp.QuadPart;
dfMinus = (double)(QPart2 - QPart1);
dfTim = dfMinus/dfFreq;
dfTimMir = SECTOMIR(dfTim);
ulElapse += (long) dfTimMir;
LeaveCriticalSection(&m_cs);
}
实在是太费系统资源,cpu利用率经常是100%,有没有想sleep样的函数可以实现微秒级的挂起?或者可不可以重写sleep()函数?大家给点建议