现在的位置: 首页 > 综合 > 正文

核心对象激发状态的意义

2013年10月06日 ⁄ 综合 ⁄ 共 759字 ⁄ 字号 评论关闭
“激发”signaled对于不同的核心对象有不同的意义
Thread线程,当线程结束时,线程对象即被激发。当线程还在进行时,则对象处于未激发状态。
Process进程,当进程结束时,进程对象即被激发。当进程还在进行时,则对象处于未激发状态。
Change Notification,当一个特定的磁盘子目录中发生一件特别的变化时,此对象即被激发。此对象系由FindFirstChangeNotification()产生
Console Input,当console窗口的输入缓冲区中有数据可用时,此对象将处于激发状态。CreateFile()和GetStdFile()两函数可以获得console handle。
Event,Event对象的状态直接受控于应用程序所使用的三个Win32函数:SetEvent(),PulseEvent(),ResetEvent()。CreateEvent()和OpenEvent()都可以传回一个event object handle。Event对象的状态也可以被操作系统设定——如果使用于“overlapped”操作时。
Mutex,如果mutex没有被任何线程拥有,他就是处于激发状态。一旦一个等待mutex的函数返回了,mutex也就自动重置为未激发状态。CreateMutex()和OpenMutex()都可以获得一个Mutext的handle。
Semaphore,Semaphore有点像mutex,但他有个计数器,可以约束其拥有者(线程)的个数。当计数器内容大于0时,semaphore处于激发状态,当计数器内容等于0时,semaphore处于未激发状态。CreateSemaphore()和OpenSemaphore()可以传回一个semaphore handle。

 

Google

抱歉!评论已关闭.