对线程控制 中 Sleep(0),和 Sleep(1)

xiaoxiao2021-02-28  99

【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);     }    }
转载请注明原文地址: https://www.6miu.com/read-66232.html

最新回复(0)