Increments the reference count of the given event.
Cancels an ongoing wait operation.
Creates a new cross-thread event.
Determines whether the given event handle is valid.
Low-level user data access. Use userData instead.
Decrements the reference count of the given event.
Triggers an event owned by the current thread.
Triggers an event possibly owned by a different thread.
Waits until an event gets triggered.
Retrieves a reference to a user-defined value associated with a descriptor.
Cross-thread notifications
"Events" can be used to wake up the event loop of a foreign thread. This is the basis for all kinds of thread synchronization primitives, such as mutexes, condition variables, message queues etc. Such primitives, in case of extended wait periods, should use events rather than traditional means to block, such as busy loops or kernel based wait mechanisms to avoid stalling the event loop.