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... | |