|
threadman 0.1.0
Header-only C++23 managed threads, dynamic pools, futures, and executors
|
Configuration for a FutureWaitPool.
More...
#include <future_wait_pool.hpp>

Public Attributes | |
| std::string | name = "tm::future-wait" |
| std::size_t | min_workers = 1 |
| std::size_t | max_workers = std::thread::hardware_concurrency() |
| std::chrono::milliseconds | scale_up_wait {THREADMAN_DEFAULT_FUTURE_WAIT_SCALE_UP_WAIT_MS} |
| Scale up once the oldest pending wait has queued for this long while every worker is busy. | |
| std::size_t | scale_up_when_queue_exceeds = 0 |
| Queue depth above which the pool scales up while saturated. | |
| std::chrono::milliseconds | idle_timeout {THREADMAN_DEFAULT_IDLE_TIMEOUT_MS} |
| A non-core worker idle this long retires. | |
| std::chrono::milliseconds | scale_check_interval {THREADMAN_DEFAULT_SCALE_CHECK_INTERVAL_MS} |
| Scale-evaluation cadence (driven by the manager housekeeper). | |
| std::size_t | max_pending = 0 |
| Maximum number of pending waits; 0 = unbounded. | |
Configuration for a FutureWaitPool.
Mirrors the subset of ThreadPoolOptions relevant to blocking waits, with eager-scaling defaults (scale_up_when_queue_exceeds == 0).
| std::chrono::milliseconds threadman::FutureWaitPoolOptions::idle_timeout {THREADMAN_DEFAULT_IDLE_TIMEOUT_MS} |
A non-core worker idle this long retires.
| std::size_t threadman::FutureWaitPoolOptions::max_pending = 0 |
Maximum number of pending waits; 0 = unbounded.
Exceeding it makes add(...) throw PoolQueueFullError.
| std::size_t threadman::FutureWaitPoolOptions::max_workers = std::thread::hardware_concurrency() |
| std::size_t threadman::FutureWaitPoolOptions::min_workers = 1 |
| std::string threadman::FutureWaitPoolOptions::name = "tm::future-wait" |
| std::chrono::milliseconds threadman::FutureWaitPoolOptions::scale_check_interval {THREADMAN_DEFAULT_SCALE_CHECK_INTERVAL_MS} |
Scale-evaluation cadence (driven by the manager housekeeper).
| std::chrono::milliseconds threadman::FutureWaitPoolOptions::scale_up_wait {THREADMAN_DEFAULT_FUTURE_WAIT_SCALE_UP_WAIT_MS} |
Scale up once the oldest pending wait has queued for this long while every worker is busy.
| std::size_t threadman::FutureWaitPoolOptions::scale_up_when_queue_exceeds = 0 |
Queue depth above which the pool scales up while saturated.
Defaults to 0 — add capacity as soon as anything has to wait, since busy here means blocked, not computing.