【发布时间】:2013-05-08 02:24:44
【问题描述】:
在 linux 代码中, 我记得听说 mutex_lock() 周围有一个完整的内存屏障。 我想确定它是否也在 sem_xxx 附近。
【问题讨论】:
-
好吧,因为它们是相互实现的,是的。
-
@JesusRamos:互斥量和信号量没有相互实现。两者都是分开实现的。然而,它们都使用原子增量/减量和 futex。
-
我写错了,我的意思是用同样的东西。
-
相关:How does a mutex lock and unlock functions prevents CPU reordering? 描述了如何防止编译时重新排序。