System::Threading Namespace Reference

Classes

class  AutoResetEvent
 Event to notify waiting thread that resets automatically. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  EventWaitHandle
 Event that can be sent to waiting thread. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  Interlocked
 Provides API for thread-safe operations. This is a static type with no instance services. You should never create instances of it by any means. More...
 
class  ManualResetEvent
 Event to notify waiting thread that does not reset automatically. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  Monitor
 Class Monitor provides a mechanism that synchronizes access to objects. More...
 
class  Mutex
 Mutex implemnetation. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  Semaphore
 Semaphore implementation. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  Thread
 Thread implementation. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  ThreadPool
 Thread pool API allowing it pushing jobs into queue to be read by pool of worker threads. This is a static type with no instance services. You should never create instances of it by any means. More...
 
class  ThreadPoolImpl
 Thread pool internal data. This is a singleton type with memory management done by access function(s). You should never create instances of it directly. More...
 
struct  Timeout
 Threading timeout special values. This is a static type with no instance services. You should never create instances of it by any means. More...
 
class  Timer
 Timer class that executes job item in separate thread after delay. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 
class  TimerQueue
 Queue that handles Timer objects. This is just an implementation. Timer objects register there by themselves, you don't have to do so to use them - use Timer class API instead. This is a singleton type with memory management done by access function(s). You should never create instances of it directly. More...
 
class  WaitHandle
 Waiting primitive base class. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument. More...
 

Typedefs

using SendOrPostCallback = System::MulticastDelegate< void(System::SharedPtr< Object >)>
 
using ParameterizedThreadStart = System::MulticastDelegate< void(System::SharedPtr< System::Object >)>
 Thread function with single parameter. More...
 
using ThreadStart = System::MulticastDelegate< void()>
 Thread function with no parameters. More...
 
using WaitCallback = System::MulticastDelegate< void(System::SharedPtr< System::Object >)>
 Callback item to be executed once there is a spot. More...
 
using TimerCallback = System::MulticastDelegate< void(System::SharedPtr< System::Object >)>
 Callback function to be called by timer. More...
 
typedef void * wait_handle_t
 Handle type. More...
 

Enumerations

enum  ApartmentState { ApartmentState::STA = 0, ApartmentState::MTA = 1, ApartmentState::Unknown = 2 }
 Sets apartment state of the thread. More...
 
enum  EventResetMode { EventResetMode::AutoReset = 0, EventResetMode::ManualReset = 1 }
 Indicates how event state resets. More...
 
enum  ThreadState {
  Running = 0, StopRequested = 1, SuspendRequested = 2, Background = 4,
  Unstarted = 8, Stopped = 16, WaitSleepJoin = 32, Suspended = 64,
  AbortRequested = 128, Aborted = 256
}
 State of the thread. More...
 

Typedef Documentation

◆ ParameterizedThreadStart

using System::Threading::ParameterizedThreadStart = typedef System::MulticastDelegate<void(System::SharedPtr<System::Object>)>

Thread function with single parameter.

◆ SendOrPostCallback

using System::Threading::SendOrPostCallback = typedef System::MulticastDelegate<void(System::SharedPtr<Object>)>

◆ ThreadStart

using System::Threading::ThreadStart = typedef System::MulticastDelegate<void()>

Thread function with no parameters.

◆ TimerCallback

using System::Threading::TimerCallback = typedef System::MulticastDelegate<void(System::SharedPtr<System::Object>)>

Callback function to be called by timer.

◆ wait_handle_t

Handle type.

◆ WaitCallback

using System::Threading::WaitCallback = typedef System::MulticastDelegate<void(System::SharedPtr<System::Object>)>

Callback item to be executed once there is a spot.

Enumeration Type Documentation

◆ ApartmentState

Sets apartment state of the thread.

Enumerator
STA 

Thread will be created in single-threaded apartment.

MTA 

Thread will be created in single-threaded apartment.

Unknown 

Thread apartment state is unspecified.

◆ EventResetMode

Indicates how event state resets.

Enumerator
AutoReset 

Event state resets automatically on reading.

ManualReset 

Event state should be reset manually.

◆ ThreadState

State of the thread.

Enumerator
Running 

Thread is running.

StopRequested 

Thread stop is requested.

SuspendRequested 

Thread suspension is requested.

Background 

Theread is being executed in background.

Unstarted 

Thread is not started.

Stopped 

Thread is stopped.

WaitSleepJoin 

Thread is bein waited to be joined.

Suspended 

Thread is suspended.

AbortRequested 

Thread abortion is requested.

Aborted 

Thread is aborted.