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