Posted on 2007-03-29 15:59
kk 阅读(286)
评论(0) 编辑 收藏 引用 所属分类:
IT
“激发”
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
。