gpt4 book ai didi

c - 如果在调用 pthread_cond_wait() 之后,另一个线程获取了被锁定的互斥锁,然后调用 phread_cond_broadcast 会发生什么情况?

转载 作者:太空宇宙 更新时间:2023-11-04 08:41:49 24 4
gpt4 key购买 nike

假设在一个线程中,您调用了 pthread_cond_wait()。调用之后,该线程的互斥锁被解锁,现在该线程被锁定在条件变量上。现在假设另一个线程获得了对该锁的访问权限。 pthread_cond_broadcast 被调用后会发生什么?在 wait 调用之后获得互斥锁控制权的另一个线程是否失去了对互斥锁的控制权?到底发生了什么?

最佳答案

线程通常争用互斥量。没有什么特别的事情发生。您可以将 pthread_cond_wait 视为:

  1. 以原子方式解锁互斥锁并阻塞条件变量。

  2. 尝试正常重新获取互斥锁。

  3. 返回。

关于c - 如果在调用 pthread_cond_wait() 之后,另一个线程获取了被锁定的互斥锁,然后调用 phread_cond_broadcast 会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23281632/

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