事件作为一种同步原语,是计算机科学中的一种同步机制,用来指示等待中的进程特定条件已经变为真。
事件对象一般具有下述操作:
wait- 执行中的执行绪被挂起直到事件为真。如果执行wait时事件已为真,则空操作。
set- 设定事件状态为真,所有等待此事件的进程变为可调度。
clear- 设定事件状态为假。
Microsoft Windows作业系统提供的事件核心对象,状态为signaled对应于状态为真;使用WaitForObject及相关係统函式实现wait操作,SetEvent系统函式实现set操作,ResetEvent系统函式实现clear操作。在创建事件对象时可以设定为“自动重置事件”或“手动重置事件”。当一个手动重置事件被触发的时候,正在等待该事件的所有执行绪都将变成可调度状态;而当一个自动重置事件被触发的时候,只有一个正在等待该事件的执行绪会变成可调度状态,该事件对象自动变为未触发态。
事件类似于管程中的条件变数。
















