gpt4 book ai didi

c - pthread_cond_wait 是否将线程置于等待状态

转载 作者:太空宇宙 更新时间:2023-11-03 23:33:41 28 4
gpt4 key购买 nike

pthread_cond_wait 是否将调用线程置于等待状态以被 pthread_cond_signal/pthread_cond_broadcast 唤醒,这样它就不会轮询和搅动 CPU?

另外,sem_wait 是否将线程置于等待状态?如果我理解正确的话,互斥量获取/释放方法会使线程在互斥量上连续轮询,并且不会将线程置于等待状态。

最佳答案

是的,pthread_cond_wait,当成功时,会导致线程等待直到收到通知。这就是调用的目的。

sem_wait 会将线程置于等待状态如果信号量不能递减。在它处于高状态时,调用将立即返回。

在大多数情况下,您不必关心锁是通过忙等待还是调度程序让步实现的。无论哪种方式,您都会获得有保证的行为,并且库实现者通常会选择您运行的平台上可用的最有效方法。在某些情况下(您有多个核心并且预期的等待时间很短)这是忙等待。

关于c - pthread_cond_wait 是否将线程置于等待状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9492629/

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