我在某个地方读到,互斥量的开销并不大,因为上下文切换只发生在争用的情况下。
在Linux中也知道Futexes。
同样的东西在Windows中也适用吗?是一个更适合于Linux中互斥的映射。
从我收集到的信息来看,与Mutex相比,关键部分提供了更好的最佳性能,这对每种情况都是正确的吗?
在Windows中,是否存在互斥量比关键部分快的情况。
假设只有一个进程线程正在访问互斥项(只是为了消除关键部分的其他好处)。
添加信息: OS windows Server,
Language C++
这主要是关于对这个概念的理解,这让我感到困惑。
Mutex意味着一个线程控制对共享资源的访问,执行操作并解锁,然后只有其他线程才能获得访问锁的权限。
二进制信号量类似于线程可以访问共享资源,但可以访问锁,而另一个线程可以解锁。
在我在上看到的最后一个问题中,有人提到了"semaphores are more suitable for some synchronization problems like producer-consumer".
例如,我的问题是,如果生产者线程获得了锁并用数据填充了一些队列,而消费者同时解锁,难道就没有并发问题吗?