对象 | 何时处于未通知状态 | 何时处于已通知状态 | 成功等待的副作用 |
进程(Process) | 当进程仍然活动时 | 当进程终止运行时 (ExitProcess 或 TerminateProcess) | 无 |
线程(Thread) | 当线程仍然活动时 | 当线程终止运行时 (ExitThread 或TerminateThread) | 无 |
作业 | 当作业的时间尚未结束时 | 当作业的时间已经结束时 | 无 |
文件 | 当I/O请求正在处理时 | 当I/O请求处理完毕时 | 无 |
控制台输入 | 不存在任何输入 | 当存在输入时 | 无 |
文件修改通知 | 没有任何文件被修改 | 当文件系统发现修改时 | 重置通知 |
自动重置事件 | ResetEvent或PulseEvent, 或等待成功 | 当调用SetEvent或PulseEvent | 重置事件 |
人工重置事件 | ResetEvent或PulseEvent | 当调用SetEvent或PulseEvent | 无 |
自动重置等待定时器 | CancelWaitableTimer 或等待成功 | 当时间到时(SetWaitableTimer) | 重置定时器 |
人工重置等待定时器 (CreateWaitableTimer) | CancelWaitableTimer | 当时间到时(SetWaitableTimer) | 无 |
信号量(Semaphore) | 等待成功 | 当信号量>0时 (ReleaseSemaphore) | 信号量递减1 |
互斥对象(Mutex) | 等待成功 | 当未被线程拥有时(releaseMutex) | 将所有权赋予线程 |
关键代码段(用户态) | 等待成功 ((Try)EnterCriticalSection) | 当未被线程拥有时(LeaveCriticalSection) | 将所有权赋予线程 |