如果我设置 3 个线程来等待互斥锁被释放,它们是根据请求的顺序形成一个队列还是未定义的行为(即我们不知道哪个线程会先获取它)?
它明确记录在SDK文章:
如果多个线程正在等待互斥体,则选择一个等待线程。不要假设先进先出 (FIFO) 顺序。外部事件(例如内核模式 APC)可以更改等待顺序。
此类事件完全超出您的控制范围。所以“未定义的行为”是描述它的合适方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)