PLCnext API Documentation 25.0.2.69
Classes | Enumerations | Functions
Arp::System::Commons::Threading Namespace Reference

Namespace for classes handling threads and synchronization More...

Classes

class  AutoResetEvent
 Event object to signal a single thread that an event has occurred. Can be used to synchronize threads in different processes. More...
 
class  ConditionVariable
 Condition variables can be used to synchronize between multiple threads More...
 
class  LockGuard
 Simple lock guard, acquiring lock on construction and release it on destruction. More...
 
class  ManualResetEvent
 Event object to signal a single thread that an event has occurred. Can be used to synchronize threads in different processes. More...
 
class  Mutex
 Mutual exclusion object to prevent data from concurrent modifications. More...
 
class  Semaphore
 Implementation of named or unnamed semaphore used to synchronize processes and threads. More...
 
class  Thread
 The Thread-class provides methods to execute functions and methods in a separate thread. More...
 
class  ThreadSettings
 Container class for adaptable thread settings. More...
 
class  WorkerThread
 Worker threads repeat the execution of the threaded code until Stop is called. More...
 

Enumerations

enum class  ThreadState {
  Running = 0 , Stopped , WaitSleepJoin , Interrupted ,
  Canceled , Terminated = ThreadState::Canceled , Exited
}
 Possible thread states. More...
 

Functions

ARP_CXX_SYMBOL_EXPORT std::ostream & operator<< (std::ostream &os, ThreadState value)
 
ARP_CXX_SYMBOL_EXPORT std::istream & operator>> (std::istream &is, ThreadState &value)
 

Detailed Description

Namespace for classes handling threads and synchronization

Enumeration Type Documentation

◆ ThreadState

Possible thread states.

Enumerator
Running 

summary>Thread is up and running

summary>Threaded initialized but not running

Stopped 

summary>Thread is either waiting for an event, currently sleeping or waits for another thread to finish

WaitSleepJoin 

summary>Thread::Interrupt was invoked

Interrupted 

summary>Thread::Terminate was called. Deprecated: Use Terminate instead!

Canceled 

summary>Thread::Terminate was called

Terminated 

summary>Threaded method has exited execution