xtd 0.2.0
Loading...
Searching...
No Matches
xtd::threading Namespace Reference

Definition

The xtd::threading namespace provides classes and interfaces that enable multithreaded programming. In addition to classes for synchronizing thread activities and access to data ( xtd::threading::mutex, xtd::threading::monitor, xtd::threading::interlocked, xtd::threading::auto_reset_event, and so on), this namespace includes a xtd::threading::thread_pool class that allows you to use a pool of system-supplied threads, and a xtd::threading::timer class that executes callback methods on thread pool threads.

The xtd::threading namespace provides classes and interfaces that enable multithreaded programming. In addition to classes for synchronizing thread activities and access to data ( xtd::threading::mutex, xtd::threading::monitor, xtd::threading::interlocked, xtd::threading::auto_reset_event, and so on), this namespace includes a xtd::threading::jthread_pool class that allows you to use a pool of system-supplied threads, and a xtd::threading::timer class that executes callback methods on thread pool threads.

Namespaces

namespace  tasks
 The xtd::threading::tasks namespace provides types that simplify the work of writing concurrent and asynchronous code. The main types are xtd::threading::tasks::task which represents an asynchronous operation that can be waited on and cancelled, and xtd::threading::tasks::task <result_t>, which is a task that can return a value. The xtd::threading::tasks::task_factory class provides static methods for creating and starting tasks, and the xtd::threading::tasks::task_scheduler class provides the default thread scheduling infrastructure.
 

Classes

class  abandoned_mutex_exception
 The exception that is thrown when a Thread is in an invalid ThreadState for the method call. More...
 
class  auto_reset_event
 Represents a thread synchronization event that, when signaled, resets automatically after releasing a single waiting thread. This class cannot be inherited. More...
 
class  barrier
 Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases. More...
 
class  barrier_post_phase_exception
 The exception that is thrown when a Thread is in an invalid ThreadState for the method call. More...
 
class  cancellation_token
 Propagates notification that operations should be canceled. More...
 
class  cancellation_token_registration
 Propagates notification that operations should be canceled. More...
 
class  cancellation_token_source
 Signals to a xtd::threading::cancellation_token that it should be canceled. More...
 
class  countdown_event
 Represents a synchronization primitive that is signaled when its count reaches zero. More...
 
class  event_wait_handle
 Represents a thread synchronization event. More...
 
class  interlocked
 Provides atomic operations for variables that are shared by multiple threads. More...
 
class  jthread
 Creates and controls an automatically rejoins on destruction thread, sets its priority, and gets its status. More...
 
class  lock_guard
 Provides a mechanism that synchronizes access to objects with xtd::threading::monitor. More...
 
class  lock_recursion_exception
 The exception that is thrown when a Thread is in an invalid ThreadState for the method call. More...
 
class  manual_reset_event
 Represents a thread synchronization event that, when signaled, must be reset manually. This class cannot be inherited. More...
 
class  monitor
 Provides a mechanism that synchronizes access to objects. More...
 
class  mutex
 A synchronization primitive that can also be used for interprocess synchronization. More...
 
class  registered_wait_handle
 A synchronization primitive that can also be used for interprocess synchronization. More...
 
class  semaphore
 Limits the number of threads that can access a resource or pool of resources concurrently. More...
 
class  semaphore_full_exception
 The exception that is thrown when a method call is invalid for the object's current state. More...
 
class  spin_lock
 Provides a mutual exclusion lock primitive where a thread trying to acquire the lock waits in a loop repeatedly checking until the lock becomes available. More...
 
class  synchronization_lock_exception
 The exception that is thrown when a Thread is in an invalid ThreadState for the method call. More...
 
class  thread
 Creates and controls a thread, sets its priority, and gets its status. More...
 
class  thread_abort_exception
 The exception that is thrown when a method call is invalid for the object's current state. More...
 
class  thread_interrupted_exception
 The exception that is thrown when a Thread is interrupted while it is in a waiting state. More...
 
class  thread_local_object
 Provides thread-local storage of data. More...
 
class  thread_pool
 Provides a pool of threads that can be used to execute tasks, post work items, process asynchronous I/O, wait on behalf of other threads, and process timers. More...
 
class  thread_state_exception
 The exception that is thrown when a Thread is in an invalid ThreadState for the method call. More...
 
class  timeout
 Contains a constant used to specify an infinite amount of time. This class cannot be inherited. More...
 
class  timer
 Provides a mechanism for executing a method on a thread pool thread at specified intervals. This class cannot be inherited. More...
 
class  wait_handle
 Encapsulates operating system specific objects that wait for exclusive access to shared resources. More...
 
class  wait_handle_cannot_be_opened_exception
 The exception that is thrown when a Thread is in an invalid ThreadState for the method call. More...
 

Alias

using parameterized_thread_start = delegate< void(std::any)>
 Represents the method that executes on a xtd::threading::thread.
 
using thread_start = delegate< void()>
 Represents the method that executes on a xtd::threading::thread.
 
using timer_callback = action< std::any >
 Represents the method that handles calls from a xtd::threading::timer.
 
using wait_callback = delegate< void(std::any)>
 Represents a callback method to be executed by a thread pool thread.
 
using wait_or_timer_callback = delegate< void(std::any, bool)>
 Represents a method to be called when a xtd::threading::wait_handle is signaled or times out.
 

Enumerations

enum class  event_reset_mode {
  event_reset_mode::auto_reset ,
  event_reset_mode::manual_reset
}
 Indicates whether an xtd::threading::event_wait_handle is reset automatically or manually after receiving a signal. More...
 
enum class  thread_priority {
  thread_priority::lowest ,
  thread_priority::below_normal ,
  thread_priority::normal ,
  thread_priority::above_normal ,
  thread_priority::highest
}
 Specifies the scheduling priority of a system::threading::thread. More...
 
enum class  thread_state {
  thread_state::running ,
  thread_state::stop_requested ,
  thread_state::suspend_requested ,
  thread_state::background ,
  thread_state::unstarted ,
  thread_state::stopped ,
  thread_state::wait_sleep_join ,
  thread_state::suspended ,
  thread_state::abort_requested ,
  thread_state::aborted
}
 Specifies the execution states of a System::Threading::Thread. More...