阅读:867回复:1
Spin Locks 问题请教
[p:2]
像下面的这种流程,选那种方案较好 方案一: for (short shIndex=0; shIndex<100; shIndex++) { KeAcquireSpinLock 对共享数据的操作(可能需要1微妙) KeReleaseSpinLock } 方案二: KeAcquireSpinLock for (short shIndex=0; shIndex<100; shIndex++) { 对共享数据的操作(可能需要1微妙) } KeReleaseSpinLock 按官方文档描述,SpinLock时间不要操作25微妙,那么只能选择方案一 1。不知道KeAcquireSpinLock和KeReleaseSpinLock函数操作是否消耗大量时间 2。如果大于25微妙,是否一定就蓝屏 3。是否只要对共享数据进行读也需要SpinLock 感谢指点 |
|
|
沙发#
发布于:2007-04-09 20:41
方案二好,如果很少写,经常读那可以用读写锁,不蓝屏,我用比你上面复杂都经常用SpinLock
|
|