一尘不染

sem_post(sem_t * sem)和sem_wait(sem_t * sem)周围是否存在完整的内存屏障?

linux

在linux代码中,我记得听说过mutex_lock()周围有完整的内存屏障。我想确定它是否也在sem_xxx附近。


阅读 661

收藏
2020-06-07

共1个答案

一尘不染

是的,在无竞争的情况下,它使用原子递增/递减,这当然有一个小数。对于有争议的情况,有一个对futex的系统调用,它也有一个成员。

2020-06-07