PLCnext API Documentation 24.0.0.71
|
Event object to signal a single thread that an event has occurred. Can be used to synchronize threads in different processes. More...
#include <AutoResetEvent.hpp>
Public Types | |
typedef std::shared_ptr< AutoResetEvent > | Ptr |
Definition of a pointer in the context of an AutoResetEvent. | |
Public Member Functions | |
AutoResetEvent (bool initial=false) | |
Creates a new object with specified initial state. More... | |
void | Set (void) |
Sets the event to signaled state. More... | |
void | Reset (void) |
Resets the event state to non-signaled. | |
bool | WaitOne (unsigned long timeoutMs=0) |
Suspends thread execution until event is signaled by another thread. More... | |
Event object to signal a single thread that an event has occurred. Can be used to synchronize threads in different processes.
Auto-reset events can be used to signal a single thread about the occurrence of a specific events. The thread to be informed has to call WaitOne() and then blocks until another thread calls Set to inform the waiter about the event occurrence. Once the waiting thread was waken up, the instance of the event automatically resets its internal state to non-signaled so that a succeeding call to WaitOne() will cause the calling thread to block again.
|
explicit |
Creates a new object with specified initial state.
initial | Initial state of event. |
void Arp::System::Commons::Threading::AutoResetEvent::Set | ( | void | ) |
Sets the event to signaled state.
Causes a thread waiting on this event to resume its execution.
bool Arp::System::Commons::Threading::AutoResetEvent::WaitOne | ( | unsigned long | timeoutMs = 0 | ) |
Suspends thread execution until event is signaled by another thread.
timeoutMs | Timeout in milliseconds to wait for the event to become signaled. If the value is set to 0 (default) the calling thread will wait infinitly or until the event is set. |