threadman 0.1.0
Header-only C++23 managed threads, dynamic pools, futures, and executors
Loading...
Searching...
No Matches
Classes | Namespaces
manager.hpp File Reference

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>
Include dependency graph for manager.hpp:
This graph shows which files directly or indirectly include this file:

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
 

Detailed Description

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.