|
threadman 0.1.0
Header-only C++23 managed threads, dynamic pools, futures, and executors
|
threadman::ThreadManager — central registry of all live ManagedThreads and ThreadPools, plus a dedicated housekeeping thread that drives per-pool scaling, prunes the registry, detects stuck tasks, and periodically publishes a ManagerSummary to subscribed listeners.
More...
#include <threadman/config.hpp>#include <threadman/display.hpp>#include <threadman/exceptions.hpp>#include <threadman/future_wait_pool.hpp>#include <threadman/log.hpp>#include <threadman/metrics.hpp>#include <threadman/stats.hpp>#include <threadman/task.hpp>#include <threadman/thread.hpp>#include <threadman/thread_pool.hpp>#include <commons/display_info.hpp>#include <atomic>#include <chrono>#include <condition_variable>#include <cstdint>#include <functional>#include <memory>#include <mutex>#include <optional>#include <shared_mutex>#include <string>#include <string_view>#include <thread>#include <unordered_map>#include <unordered_set>#include <utility>#include <vector>

Go to the source code of this file.
Classes | |
| class | threadman::ThreadManager |
| struct | threadman::ThreadManager::Options |
| class | threadman::ThreadManager::SubscriptionToken |
RAII handle returned by subscribe_*. More... | |
Namespaces | |
| namespace | threadman |
threadman::ThreadManager — central registry of all live ManagedThreads and ThreadPools, plus a dedicated housekeeping thread that drives per-pool scaling, prunes the registry, detects stuck tasks, and periodically publishes a ManagerSummary to subscribed listeners.
The manager has a process-wide singleton (ThreadManager::instance()) used by default. Tests and embedded use cases can construct a private ThreadManager and pass it via ManagedThread::Options::manager / ThreadPoolOptions::manager for isolation.