阅读:2034回复:4
有谁能讲一下有关“自旋锁”的概念。
KeInitializeSpinLock
“自旋锁”是否仅对于多处理器而言,在单cpu情况下不用考虑?哪位大侠讲讲吧! |
|
|
沙发#
发布于:2001-10-14 11:13
And, Spin-lock will change IRQL.
|
|
|
板凳#
发布于:2001-10-12 15:01
自旋锁其实和Mutex互斥量的作用是类似的,防止在多线程或多CPU下数据共享冲突,两者的不同之处在于自旋锁的持有时间不能太长(一般在毫秒级),否则会造成系统死锁。而Mutex则无时间限制。另外自旋锁切换时间比Mutex要短很多。所以自旋锁一般用于保护一个变量或内存拷贝,而Mutex用于保护I/O操作或较耗费时间的代码段。
|
|
地板#
发布于:2001-10-11 19:54
用不用自旋锁,要看你是用哪中缓冲方式了,如使用直接i/o一般都使用自旋锁
|
|
|
地下室#
发布于:2001-10-11 17:57
[QUOTE]原本由 hongbo 发表
[B]KeInitializeSpinLock “自旋锁”是否仅对于多处理器而言,在单cpu情况下不用考虑?哪位大侠讲讲吧! [/B][/QUOTE] 如果你需要不被打断的做一件事就要这样做。 但要小心占用时间请遵照MSDN中的MS建议! |
|
|