Windows核心编程:(六)用内核对象进行线程同步

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Windows_and_Linux/article/details/44236367

内核对象的唯一缺点是它们的性能,每一个应用内核对象的新函数,调用线程必须从用户模式切换到内核模式。 这种切换时非常耗时的,一个空的系统大概会占用200个CPU周期,但是造成内核对象比用户模式下的同步机制慢几个数量级的原因,是伴随调度新线程而来的刷新高速缓存以及错过高速缓存。


         进程内核对象在创建的时候总是处于未触发状态。当进程终止的时候,操作系统自动使进程内核对象变成触发状态,当进程内核对象被触发后,它将永远保持这种状态。

WaitForSingleObject  和 WaitForMultipleObjects让线程处于等待状态知道指定的内核对象被触发为止。

         等待成功引起的副作用: 所等待的对象的状态会发生变化。

       

         可等待的计时器内核对象

         会在某个指定的时间触发,或每隔一段时间触发一次。

展开阅读全文

没有更多推荐了,返回首页