【发布时间】:2014-09-24 00:31:09
【问题描述】:
我知道 c 语言中的同步有多种机制,如自旋锁、信号量、seq_lock、条件变量等,每种都有其优缺点,何时使用取决于具体情况。
但是上面的每个同步机制都会给程序增加一些额外的处理。
这是一个面试问题“除了同步锁定还有其他方法吗”。我说我们可以使用 Barriers 或我们自己的 wait_queue 但这可能只是在某些情况下有用,而不是在某些情况下可能是 1 或 2。
那么除了锁定(自旋锁,信号量)之外还有什么机制可以实现同步吗?
【问题讨论】:
标签: multithreading linux-kernel operating-system synchronization locking