gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 13:28:40 33 4
gpt4 key购买 nike

我正在用 C 编写一个 win32 程序。

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

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

最佳答案

是的——线程被阻塞,直到它正在等待的任何东西被通知。该线程在被阻塞时不会被安排运行,因此其他线程将获得所有 CPU 时间。

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

关于windows - WaitForSingleObject 是否放弃线程的时间片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4170272/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com