【1】Sleep(0)正如 参数所示,在远小于1 ms 的时间片内允许其他线程调度CPU 的运行,而保留了绝大部分CPU时间片为本线程运 行
【2】换句话说就是Sleep(0)几乎掌控了所有CPU的使用权,而非让出CPU使用权。
【2】相反:Sleep(1)在参数非0 下,休眠1 ms并且极大的让出CPU使用权, 但可能正由于让出CPU使用权,使得本Sleep休眠控制的很不精准,可能相差几十 毫秒以上
【3】实例如下:
UINT thread_func(LPVOID lp)
{
while(TRUE)
{
Sleep(0);
}
}
UINT thread_func(LPVOID lp)
{
while(TRUE)
{
Sleep(1);
}
}
【2】换句话说就是Sleep(0)几乎掌控了所有CPU的使用权,而非让出CPU使用权。
【2】相反:Sleep(1)在参数非0 下,休眠1 ms并且极大的让出CPU使用权, 但可能正由于让出CPU使用权,使得本Sleep休眠控制的很不精准,可能相差几十 毫秒以上
【3】实例如下:
UINT thread_func(LPVOID lp)
{
while(TRUE)
{
Sleep(0);
}
}
UINT thread_func(LPVOID lp)
{
while(TRUE)
{
Sleep(1);
}
}