windows - 超时为 0 的 KeWaitForSingleObject 和 KeReadStateSemaphore 之间的区别

标签 windows semaphore wdk

超时设置为0的KeWaitForSingleObjectKeReadStateSemaphore有区别吗?

最佳答案

区别很大。 KeReadStateSemaphore 只是返回信号量的状态,而超时为 0 的 KeWaitForSingleObject 实际上会处理副作用,如果等待得到满足(即副作用是递减信号状态)。使用前者进行轮询,使用后者无需等待即可尝试获取信号量。

关于windows - 超时为 0 的 KeWaitForSingleObject 和 KeReadStateSemaphore 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6342305/

相关文章:

c++ - MSB6004 指定的任务可执行位置 "\rc.exe"无效

winapi - 当涉及splwow64.exe时如何检测打印应用程序?

c - 在压缩的 PE 中,数据部分的虚拟大小必须与原始大小匹配吗?

.net3.5 应用程序与 .net 框架 4

php - Linux到Windows与dev/urandom的兼容性,有更好的方法吗?

c - 唤醒单个线程而不是在 pthreads 中忙于等待

windows - 将文件内容从内核模式传递到用户模式的最快方法?

Python 信号甚至在 Cygwin 上也不起作用?

c - 什么是通用信号量范围?

Java 一个临界区多个信号量