windows – WaitForSingleObject是否放弃了线程的时间片?

前端之家收集整理的这篇文章主要介绍了windows – WaitForSingleObject是否放弃了线程的时间片?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在C中制作win32程序.

当你有多个线程在运行,并且其中一个线程正在等待事件时(例如使用WaitForSingleObject()),该线程是否仍然获得其完整的cpu时间片?

换句话说,操作系统是否知道线程不需要其时间片,直到其中一个事件被发出信号?

是的 – 线程被阻塞,直到它等待的任何信号被发出信号.该线程在被阻塞时不会被安排运行,因此其他线程将获得所有cpu时间.

请注意,时间片不会进入太多.线程可以在时间片的中间放弃执行,并且(例如)如果它正在等待的内容快速发出信号,它可能会在其原始时间片到期之前再次开始执行.当发出信号时,正在等待它的线程可以立即唤醒,不一定等待时间片的结束(例如,如果正在等待的线程具有比正在运行的线程更高的优先级).

猜你在找的Windows相关文章