kernel/spinlock.h
简单定义了一个自旋锁
锁无疑是实现互斥的最好工具,尽管它不是最安全高效的,但它确实用了非常简单的手段来满足多程需求。xv6-riscv里共有两种锁:自旋锁(spinlock)和睡眠锁(sleeplock),而自旋锁又是锁中较为简单的实现方案。
整个结构非常简单,关键部分只有一个locked
,当这个变量为真的时候表示已锁定。至于name
和cpu
则是方便调试的部分,并不需太过在意。
最后更新于
这有帮助吗?
简单定义了一个自旋锁
锁无疑是实现互斥的最好工具,尽管它不是最安全高效的,但它确实用了非常简单的手段来满足多程需求。xv6-riscv里共有两种锁:自旋锁(spinlock)和睡眠锁(sleeplock),而自旋锁又是锁中较为简单的实现方案。
整个结构非常简单,关键部分只有一个locked
,当这个变量为真的时候表示已锁定。至于name
和cpu
则是方便调试的部分,并不需太过在意。
最后更新于
这有帮助吗?