阅读:2294回复:4
ExAcquireFastMutex ExAcquireResourceExclusiveLite ExAcquireResourceSharedLite的问题
ExAcquireFastMutex
ExAcquireResourceExclusiveLite ExAcquireResourceSharedLite 等同步机制有问题请教,谢谢 他们都是对共享数据区的访问控制机制 ExAcquireFastMutex 和 ExAcquireResourceExclusiveLite ExAcquireResourceSharedLite 有什么不同吗?看了DDK的文档,还是不太明白 要对全局数据写要用 ExAcquireResourceExclusiveLite 要对全局数据读要用 ExAcquireResourceSharedLite 这两个函数调用前要用KeEnterCriticalRegion 来提升调用者线程的IRQL到 APC_LEVEL 那ExAcquireFastMutex是不是功能更直接,不太明白 :( |
|
沙发#
发布于:2002-08-07 16:17
例外哪个大侠可以讲一下在DRIVER中对于全局数据的访问控制方法,
谢谢 |
|
板凳#
发布于:2002-08-07 16:44
NT/2000下的线程调度是采用时间片方式。而执行调度的线程的中断优先级为DISPASSTURELEVEL,也就是说当你的线程的中断优先级达到DISPASSTURELEVEL。就不存在数据竞争的情况(单CPU中)。STARTIO
就是在这一级别中的。对于多CPU的情况,可以用自旋锁解决 |
|
地板#
发布于:2004-07-20 09:03
NT/2000下的线程调度是采用时间片方式。而执行调度的线程的中断优先级为DISPASSTURELEVEL,也就是说当你的线程的中断优先级达到DISPASSTURELEVEL。就不存在数据竞争的情况(单CPU中)。STARTIO 难道两个DISPATCHLEVEL的线程不会并发运行? |
|
|
地下室#
发布于:2004-07-21 09:26
ExclusiveLite
SharedLite 还是有区别的,嘿嘿..... |
|
|