イベント (プログラミング)
Windows(Win32以降)には、「イベント」と呼ばれるカーネルオブジェクトがあり、「Win32イベント」と呼ばれることもある。このオブジェクトは、前述のイベントドリブンとはなんら関係ない。イベントオブジェクトは、そのオブジェクトがシグナル(発信)されることにより、待機状態にあるスレッドを再開させるなど、待機状態にある何らかの処理を起動する目的に使われる。また、プロセス間をまたいでイベントオブジェクトを共有できることから、スレッド間通信のみならずプロセス間通信にも利用される。
Win32イベントはイベント的事象を伝達することに特化しており、待機中スレッドがイベント待ちから解放されたとき、自動的にイベントを非シグナル状態にするといった機能がある。セマフォと似ているが、決定的な違いは、イベントは資源数が常に1であり、また伝達できる情報はシグナル発生のみである点である。
イベントは、各APIごとに次のようなクラスまたは関数を通して提供されている。
Windows API - CreateEvent()関数(HANDLE型オブジェクト)
ATL/MFC - CEventクラス
.NET Framework - System.Threading.AutoResetEventクラス、System.Threading.ManualResetEventクラス
プログラミングにおけるイベント (英: event) は、プログラム内で発生した動作・出来事、またそれらを表現する信号である。メッセージあるいはアクション(動作)とも呼ばれる。
イベントの例としてWEBブラウザにおける「クリック」動作、ネットワークリクエストにおける「fetch完了」出来事が挙げられる。動作・出来事そのものではなく、それらをプログラム上で表現し詳細情報を保持しているオブジェクト(イベントオブジェクト)を単純にイベントと呼ぶことが多い。