0

背景

我经常偶然发现锁定获取顺序必须与锁定尝试的实时顺序相同的情况。这些情况通常与锁一样的信号量有关。

理论

从我在“多处理器编程的艺术”中读到的内容,死锁自由和先到先得的保证足以使锁饥饿免费。死锁自由似乎在用户身上,因为他们必须记住正确解锁。我查看了pthreads 手册页上提供的可能的互斥锁类型,但它似乎没有提到任何关于锁定获取的排序。

问题

pthread mutex 是否保证饥饿自由?是否有实现(我主要关心 linux 系列和 macOS)?信号量是否保证与互斥锁具有相同的属性?

4

0 回答 0