gpt4 book ai didi

windows - 被互斥锁阻塞的等待线程的执行顺序

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

我有一个互斥量,它控制从多个线程访问单个对象。当一个线程完成时,互斥锁被解锁以允许顺序线程对对象进行操作。在使用 WaitForSingleObject 函数的 Windows 上是否有线程发出信号的命令?我希望第一个尝试锁定互斥锁的线程现在被允许锁定互斥锁。这将是一个 FIFO 队列,因此发送给阻塞线程的信号不是随机的。我是否必须实现自己的排队机制才能实现这一目标?如果有,哪些功能有用?

最佳答案

FIFO 信号导致 lock convoys .在较新版本的 Win32 API 上,车队问题已通过显式处理互斥锁和其他同步原语解决 unfair (即没有 FIFO)。

If more than one thread is waiting on a mutex, a waiting thread is selected. Do not assume a first-in, first-out (FIFO) order. External events such as kernel-mode APCs can change the wait order.

关于windows - 被互斥锁阻塞的等待线程的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1545129/

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