CARTA Backend
The backend component of CARTA
Loading...
Searching...
No Matches
carta::ThreadManager Class Reference

#include <ThreadingManager.h>

Collaboration diagram for carta::ThreadManager:
[legend]

Static Public Member Functions

static void ApplyThreadLimit ()
 
static void SetThreadLimit (int count)
 
static void StartEventHandlingThreads (int num_threads)
 
static void QueueTask (OnMessageTask *)
 
static void ExitEventHandlingThreads ()
 

Static Private Attributes

static int _omp_thread_count = 0
 
static std::list< OnMessageTask * > _task_queue
 
static std::mutex _task_queue_mtx
 
static std::condition_variable _task_queue_cv
 
static std::list< std::thread * > _workers
 
static volatile bool _has_exited = false
 

Member Function Documentation

◆ ApplyThreadLimit()

void carta::ThreadManager::ApplyThreadLimit ( )
static
Here is the caller graph for this function:

◆ ExitEventHandlingThreads()

void carta::ThreadManager::ExitEventHandlingThreads ( )
static
Here is the caller graph for this function:

◆ QueueTask()

void carta::ThreadManager::QueueTask ( OnMessageTask tsk)
static
Here is the caller graph for this function:

◆ SetThreadLimit()

void carta::ThreadManager::SetThreadLimit ( int  count)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ StartEventHandlingThreads()

void carta::ThreadManager::StartEventHandlingThreads ( int  num_threads)
static
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _has_exited

volatile bool carta::ThreadManager::_has_exited = false
staticprivate

◆ _omp_thread_count

int carta::ThreadManager::_omp_thread_count = 0
staticprivate

◆ _task_queue

std::list< OnMessageTask * > carta::ThreadManager::_task_queue
staticprivate

◆ _task_queue_cv

std::condition_variable carta::ThreadManager::_task_queue_cv
staticprivate

◆ _task_queue_mtx

std::mutex carta::ThreadManager::_task_queue_mtx
staticprivate

◆ _workers

std::list< std::thread * > carta::ThreadManager::_workers
staticprivate

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