Posted on 2007-03-29 15:59
kk 閱讀(295)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
IT
“激發(fā)”
signaled
對(duì)于不同的核心對(duì)象有不同的意義
Thread
線程,當(dāng)線程結(jié)束時(shí),線程對(duì)象即被激發(fā)。當(dāng)線程還在進(jìn)行時(shí),則對(duì)象處于未激發(fā)狀態(tài)。
Process
進(jìn)程,當(dāng)進(jìn)程結(jié)束時(shí),進(jìn)程對(duì)象即被激發(fā)。當(dāng)進(jìn)程還在進(jìn)行時(shí),則對(duì)象處于未激發(fā)狀態(tài)。
Change Notification
,當(dāng)一個(gè)特定的磁盤(pán)子目錄中發(fā)生一件特別的變化時(shí),此對(duì)象即被激發(fā)。此對(duì)象系由
FindFirstChangeNotification()
產(chǎn)生
Console Input
,當(dāng)
console
窗口的輸入緩沖區(qū)中有數(shù)據(jù)可用時(shí),此對(duì)象將處于激發(fā)狀態(tài)。
CreateFile
()和
GetStdFile
()兩函數(shù)可以獲得
console handle
。
Event
,
Event
對(duì)象的狀態(tài)直接受控于應(yīng)用程序所使用的三個(gè)
Win32
函數(shù):
SetEvent
(),
PulseEvent
(),
ResetEvent
()。
CreateEvent
()和
OpenEvent
()都可以傳回一個(gè)
event object handle
。
Event
對(duì)象的狀態(tài)也可以被操作系統(tǒng)設(shè)定——如果使用于“
overlapped
”操作時(shí)。
Mutex
,如果
mutex
沒(méi)有被任何線程擁有,他就是處于激發(fā)狀態(tài)。一旦一個(gè)等待
mutex
的函數(shù)返回了,
mutex
也就自動(dòng)重置為未激發(fā)狀態(tài)。
CreateMutex
()和
OpenMutex
()都可以獲得一個(gè)
Mutext
的
handle
。
Semaphore
,
Semaphore
有點(diǎn)像
mutex
,但他有個(gè)計(jì)數(shù)器,可以約束其擁有者(線程)的個(gè)數(shù)。當(dāng)計(jì)數(shù)器內(nèi)容大于
0
時(shí),
semaphore
處于激發(fā)狀態(tài),當(dāng)計(jì)數(shù)器內(nèi)容等于
0
時(shí),
semaphore
處于未激發(fā)狀態(tài)。
CreateSemaphore
()和
OpenSemaphore
()可以傳回一個(gè)
semaphore handle
。