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

来源:互联网 发布:java email 发送 编辑:程序博客网 时间:2024/04/26 08:29

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


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

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

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

       

         可等待的计时器内核对象

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

0 0
原创粉丝点击