Windows核心编程:(六)用内核对象进行线程同步
2015-03-13 14:40
543 查看
内核对象的唯一缺点是它们的性能,每一个应用内核对象的新函数,调用线程必须从用户模式切换到内核模式。 这种切换时非常耗时的,一个空的系统大概会占用200个CPU周期,但是造成内核对象比用户模式下的同步机制慢几个数量级的原因,是伴随调度新线程而来的刷新高速缓存以及错过高速缓存。
进程内核对象在创建的时候总是处于未触发状态。当进程终止的时候,操作系统自动使进程内核对象变成触发状态,当进程内核对象被触发后,它将永远保持这种状态。
WaitForSingleObject 和 WaitForMultipleObjects让线程处于等待状态知道指定的内核对象被触发为止。
等待成功引起的副作用: 所等待的对象的状态会发生变化。
可等待的计时器内核对象
会在某个指定的时间触发,或每隔一段时间触发一次。
进程内核对象在创建的时候总是处于未触发状态。当进程终止的时候,操作系统自动使进程内核对象变成触发状态,当进程内核对象被触发后,它将永远保持这种状态。
WaitForSingleObject 和 WaitForMultipleObjects让线程处于等待状态知道指定的内核对象被触发为止。
等待成功引起的副作用: 所等待的对象的状态会发生变化。
可等待的计时器内核对象
会在某个指定的时间触发,或每隔一段时间触发一次。
相关文章推荐
- 摘自windows核心编程之用内核对象进行线程同步
- 《Windows核心编程》——九 用内核对象进行线程同步
- (摘自windows核心编程之用内核对象进行线程同步)
- Windows核心编程:用内核对象进行线程同步
- Windows核心编程 用内核对象进行线程同步
- (摘自windows核心编程之用内核对象进行线程同步)
- windows核心编程-用内核对象进行线程同步
- <<Windows核心编程(第五版)>>第九章用内核对象进行线程同步:9.3事件内核对象
- Windows核心编程(八)用内核对象进行线程同步
- 《Windows核心编程 5th》读书笔记----第9章 用内核对象进行线程同步
- windows核心编程-9.用内核对象进行线程同步
- 《Windows核心编程系列》八谈谈用内核对象进行线程同步
- 第9章 用内核对象进行线程同步(2)_可等待计时器(WaitableTimer)
- 第9章 用内核对象进行线程同步(4)_死锁(DeadLock)及其他
- Windows-核心编程-09-如何用内核对象进行线程同步-事件内核对象
- Windows核心编程笔记(九)使用内核对象进行线程同步
- Windows-核心编程-09-如何用内核对象进行线程同步-信号内核对象
- windows核心编程---用内核对象进行线程同步
- windows 用内核对象进行线程同步