【发布时间】:2011-03-23 07:12:47
【问题描述】:
我读到,在具有 1 个 CPU 和非抢占式 linux 内核 (2.6.x) 的系统上,spin_lock 调用等同于空调用,因此以这种方式实现。
我不明白:它不应该等同于在互斥体上休眠吗?例如,即使在非抢占式内核上,中断处理程序仍可能会被执行,或者我可能会调用一个使原始线程进入睡眠状态的函数。因此,如果将空的 spin_lock 调用作为互斥锁实现,那么它不是“安全的”。
有什么我不明白的吗?
【问题讨论】:
标签: locking linux-kernel mutex spinlock