Sleep和 SleepEx函数的功能是在指定的执行时间内中止所在线程的执行。SleepEx扩展了Sleep的功能,在最短超时时间间隔已到的情况下恢复线程执行外,在以下两种情况下发生时也可以恢复执行:I/O完成回调函数被调用、异步过程调用(APC)被安排进入线程中。
函数原型:
VOID WINAPI Sleep(
DWORD dwMillseconds);
DWORD WINAPI SleepEx(
DWORD dwMillesconds,
BOOL bAlertable);
参数:
dwMilliseconds: 输入参数,Sleep与SleepEx函数的dwMilliseconds参数都是指定线程挂起最短时间间隔,以ms为单位。
bAlertable: 输入参数,SleepEx如果被设置为FALSE,那么,在线程挂起期间不会响应。如果一个I/O完成回调函数被调用或有新的APC按排进入,他们使函数返回,也不会被执行。
返回值:
Sleep函数无返回值,SleepEx返回0表示时间间隔完成,返回WAIT_IO_COMPLETION表示I/O完成回调函数被调用。