您的位置:首页 > 编程语言

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

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

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

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

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

       

         可等待的计时器内核对象

         会在某个指定的时间触发,或每隔一段时间触发一次。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: