STLdoc
STLdocumentation
|
A manual reset event which is explicitly aware of the Concurrency Runtime. More...
#include <concrt.h>
Public Member Functions | |
_CRTIMP | event () |
Constructs a new event. More... | |
_CRTIMP | ~event () |
Destroys an event. More... | |
_CRTIMP size_t | wait (unsigned int _Timeout=COOPERATIVE_TIMEOUT_INFINITE) |
Waits for the event to become signaled. More... | |
_CRTIMP void | set () |
Signals the event. More... | |
_CRTIMP void | reset () |
Resets the event to a non-signaled state. More... | |
Static Public Member Functions | |
static _CRTIMP size_t __cdecl | wait_for_multiple (_In_reads_(_Count) event **_PPEvents, size_t _Count, bool _FWaitAll, unsigned int _Timeout=COOPERATIVE_TIMEOUT_INFINITE) |
Waits for multiple events to become signaled. More... | |
Static Public Attributes | |
static const unsigned int | timeout_infinite = COOPERATIVE_TIMEOUT_INFINITE |
Value indicating that a wait should never time out. More... | |
Private Member Functions | |
event (const event &_Event) | |
event & | operator= (const event &_Event) |
Private Attributes | |
void *volatile | _M_pWaitChain |
void * | _M_pResetChain |
Concurrency::critical_section | _M_lock |
A manual reset event which is explicitly aware of the Concurrency Runtime.
For more information, see Synchronization Data Structures.
_CRTIMP Concurrency::event::event | ( | ) |
Constructs a new event.
_CRTIMP Concurrency::event::~event | ( | ) |
Destroys an event.
It is expected that there are no threads waiting on the event when the destructor runs. Allowing the event to destruct with threads still waiting on it results in undefined behavior.
|
private |
Resets the event to a non-signaled state.
Signals the event.
Signaling the event can cause an arbitrary number of contexts waiting on the event to become runnable.
_CRTIMP size_t Concurrency::event::wait | ( | unsigned int | _Timeout = COOPERATIVE_TIMEOUT_INFINITE | ) |
Waits for the event to become signaled.
_Timeout | Indicates the number of milliseconds before the wait times out. The value COOPERATIVE_TIMEOUT_INFINITE signifies that there is no timeout. |
0
is returned; otherwise, the value COOPERATIVE_WAIT_TIMEOUT
to indicate that the wait timed out without the event becoming signaled. COOPERATIVE_TIMEOUT_INFINITE
COOPERATIVE_WAIT_TIMEOUT
|
static |
Waits for multiple events to become signaled.
_PPEvents | An array of events to wait on. The number of events within the array is indicated by the _Count parameter. |
_Count | The count of events within the array supplied in the _PPEvents parameter. |
_FWaitAll | If set to the value true , the parameter specifies that all events within the array supplied in the _PPEvents parameter must become signaled in order to satisfy the wait. If set to the value false , it specifies that any event within the array supplied in the _PPEvents parameter becoming signaled will satisfy the wait. |
_Timeout | Indicates the number of milliseconds before the wait times out. The value COOPERATIVE_TIMEOUT_INFINITE signifies that there is no timeout. |
COOPERATIVE_WAIT_TIMEOUT
to indicate that the wait timed out without the condition being satisfied. If the parameter _FWaitAll is set to the value true
to indicate that all events must become signaled to satisfy the wait, the index returned by the function carries no special significance other than the fact that it is not the value COOPERATIVE_WAIT_TIMEOUT
.
COOPERATIVE_TIMEOUT_INFINITE
COOPERATIVE_WAIT_TIMEOUT
|
private |
|
private |
|
private |
|
static |
Value indicating that a wait should never time out.