Back to Site
Loading...
Searching...
No Matches
librats::ThreadManager Class Reference

ThreadManager - Manages background threads with graceful shutdown. More...

#include <threadmanager.h>

Inheritance diagram for librats::ThreadManager:
[legend]
Collaboration diagram for librats::ThreadManager:
[legend]

Public Member Functions

 ThreadManager ()
 
virtual ~ThreadManager ()
 
void add_managed_thread (std::thread &&t, const std::string &name="unnamed")
 
void cleanup_finished_threads ()
 
void shutdown_all_threads ()
 
void join_all_active_threads ()
 
size_t get_active_thread_count () const
 

Protected Member Functions

void notify_shutdown ()
 

Protected Attributes

std::condition_variable shutdown_cv_
 
std::mutex shutdown_mutex_
 

Detailed Description

ThreadManager - Manages background threads with graceful shutdown.

Definition at line 16 of file threadmanager.h.

Constructor & Destructor Documentation

◆ ThreadManager()

librats::ThreadManager::ThreadManager ( )

◆ ~ThreadManager()

virtual librats::ThreadManager::~ThreadManager ( )
virtual

Member Function Documentation

◆ add_managed_thread()

void librats::ThreadManager::add_managed_thread ( std::thread &&  t,
const std::string &  name = "unnamed" 
)

◆ cleanup_finished_threads()

void librats::ThreadManager::cleanup_finished_threads ( )

◆ get_active_thread_count()

size_t librats::ThreadManager::get_active_thread_count ( ) const

◆ join_all_active_threads()

void librats::ThreadManager::join_all_active_threads ( )

◆ notify_shutdown()

void librats::ThreadManager::notify_shutdown ( )
protected

◆ shutdown_all_threads()

void librats::ThreadManager::shutdown_all_threads ( )

Member Data Documentation

◆ shutdown_cv_

std::condition_variable librats::ThreadManager::shutdown_cv_
protected

Definition at line 41 of file threadmanager.h.

◆ shutdown_mutex_

std::mutex librats::ThreadManager::shutdown_mutex_
protected

Definition at line 42 of file threadmanager.h.


The documentation for this class was generated from the following file: