|
|
| taskDelegator (const taskDelegator &)=delete |
| | Disable copy constructor.
|
| |
|
taskDelegator & | operator= (const taskDelegator &)=delete |
| | Disable copy assignment.
|
| |
|
| taskDelegator (taskDelegator &&)=delete |
| | Disable move constructor.
|
| |
|
taskDelegator & | operator= (taskDelegator &&)=delete |
| | Disable move assignment.
|
| |
| | taskDelegator (u_integer thread_cnt=8) |
| | Constructs a task delegator with a given number of threads.
|
| |
| template<typename Callback , typename... Args> |
| auto | submit (Callback &&c, Args &&... args) |
| | Submits a task with normal priority.
|
| |
| template<typename Callback , typename... Args> |
| auto | submit (priority priority, Callback &&c, Args &&... args) |
| | Submits a task with specified priority.
|
| |
| template<typename Callback , typename... Args> |
| auto | submit (time::duration timeout, Callback &&c, Args &&... args) |
| | Submits a task with IMMEDIATE priority and a timeout.
|
| |
|
u_integer | waitingCnt () const noexcept |
| | Returns the number of waiting (non-immediate, non-deferred) tasks.
|
| |
|
u_integer | immediateCnt () const noexcept |
| | Returns the number of immediate tasks pending execution.
|
| |
|
void | runDeferred () |
| | Activates one deferred task.
|
| |
|
void | runAllDeferred () |
| | Activates all deferred tasks.
|
| |
| u_integer | discardDeferred () |
| | Discards one deferred task.
|
| |
|
void | discardAllDeferred () |
| | Discards all deferred tasks.
|
| |
|
u_integer | deferredCnt () const noexcept |
| | Returns number of deferred tasks.
|
| |
| void | stop (stopMode mode=stopMode::KEEP_DEFERRED) |
| | Stops the task delegator.
|
| |
| u_integer | activeThreads () const noexcept |
| | Gets the number of active threads.
|
| |
| u_integer | idleThreads () const noexcept |
| | Gets the number of idle threads.
|
| |
| | ~taskDelegator () |
| | Destructor.
|
| |
|
template<typename TYPE > |
| original::async::future< TYPE > | submit (const priority priority, strongPtr< task< TYPE > > &t) |
| |
Thread pool for managing and executing prioritized tasks.
Provides a managed thread pool that can execute tasks with different priority levels. Supports immediate, high, normal, low, and deferred tasks. Deferred tasks can be manually activated or discarded on shutdown.