我刚开始学习WINDOWS下驱动编程。看到书上说在DISPATCH_LEVEL下,不会发生普通线程的切换。但我调试的一个范例中,
设备IRP串行操作处理的StartIO函数是在DISPATCH_LEVEL下执行,
在StartIO中加入了一个10秒的等待。
但是在调试的时候,当执行StartIO的时候,发现其他的线程仍然能正常的运行,没有发现有卡死或者无响应的情况。
想请教一下,这是什么原因?我的电脑是双核的,调试环境用的是VC6.0, Windows DDK 2600
设备IRP串行操作处理的StartIO函数是在DISPATCH_LEVEL下执行,
在StartIO中加入了一个10秒的等待。
但是在调试的时候,当执行StartIO的时候,发现其他的线程仍然能正常的运行,没有发现有卡死或者无响应的情况。
想请教一下,这是什么原因?我的电脑是双核的,调试环境用的是VC6.0, Windows DDK 2600
既然这个例程是一个完整执行体,CPU不会切换走,那我在例程里等待10秒,CPU不是同样也不会切换走,直到我完成这个例程,CPU才可能切换到去执行其他线程?