Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/classCThreadPool__Controller__PID.html below:
NCBI C++ ToolKit: CThreadPool_Controller_PID Class Reference
Default ThreadPool controller based on Proportional-Integral-Derivative algorithm. More...
CThreadPool_Controller_PID (unsigned int max_threads, unsigned int min_threads) Constructor. More...
void SetQueuedTasksThreshold (double threshold) Set maximum number of tasks in queue per each thread The meaning of parameter is only approximate. More...
double GetQueuedTasksThreshold (void) Get maximum number of tasks in queue per each thread. More...
void SetTaskMaxQueuedTime (double queued_time) Set maximum time (in seconds) that task can wait in queue for processing until new thread will be launched. More...
double GetTaskMaxQueuedTime (void) Get maximum time that task can wait in queue for processing until new thread will be launched. More...
void SetChangeCalcTime (double calc_time) Set the time period (in seconds) for which average speed of changing of waiting tasks number is calculated. More...
double GetChangeCalcTime (void) Get the time period for which average speed of changing of waiting tasks number is calculated. More...
void SetChangePredictTime (double predict_time) Set period of prediction of number of tasks in queue The meaning of parameter is only approximate. More...
double GetChangePredictTime (void) Get period of prediction of number of tasks in queue. More...
virtual CTimeSpan GetSafeSleepTime (void) const Get maximum timeout for which calls to method HandleEvent() can be missing. More...
CThreadPool_Controller (unsigned int max_threads, unsigned int min_threads) Constructor. More...
void SetMinThreads (unsigned int min_threads) Set the minimum number of threads in pool. More...
unsigned int GetMinThreads (void) const Get the minimum number of threads in pool. More...
void SetMaxThreads (unsigned int max_threads) Set the maximum number of threads in pool. More...
unsigned int GetMaxThreads (void) const Get the maximum number of threads in pool. More...
void HandleEvent (EEvent event) This method is called every time something happens in a pool, such as: new task added, task is started or finished execution, new threads started or some threads finished. More...
CObject (void) Constructor. More...
CObject (const CObject &src) Copy constructor. More...
virtual ~CObject (void) Destructor. More...
CObject & operator= (const CObject &src) THROWS_NONE Assignment operator. More...
bool CanBeDeleted (void) const THROWS_NONE Check if object can be deleted. More...
bool IsAllocatedInPool (void) const THROWS_NONE Check if object is allocated in memory pool (not system heap) More...
bool Referenced (void) const THROWS_NONE Check if object is referenced. More...
bool ReferencedOnlyOnce (void) const THROWS_NONE Check if object is referenced only once. More...
void AddReference (void) const Add reference to object. More...
void RemoveReference (void) const Remove reference to object. More...
void ReleaseReference (void) const Remove reference without deleting object. More...
virtual void DoNotDeleteThisObject (void) Mark this object as not allocated in heap – do not delete this object. More...
virtual void DoDeleteThisObject (void) Mark this object as allocated in heap – object can be deleted. More...
void * operator new (size_t size) Define new operator for memory allocation. More...
void * operator new[] (size_t size) Define new[] operator for 'array' memory allocation. More...
void operator delete (void *ptr) Define delete operator for memory deallocation. More...
void operator delete[] (void *ptr) Define delete[] operator for memory deallocation. More...
void * operator new (size_t size, void *place) Define new operator. More...
void operator delete (void *ptr, void *place) Define delete operator. More...
void * operator new (size_t size, CObjectMemoryPool *place) Define new operator using memory pool. More...
void operator delete (void *ptr, CObjectMemoryPool *place) Define delete operator. More...
virtual void DebugDump (CDebugDumpContext ddc, unsigned int depth) const Define method for dumping debug information. More...
CDebugDumpable (void) virtual ~CDebugDumpable (void) void DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const void DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const void DumpToConsole (void) const
Default ThreadPool controller based on Proportional-Integral-Derivative algorithm.
Controller looks at number of tasks waiting in the queue per each thread running and adjusts number of threads with respect to all coefficients set in it. Implementation of the class assumes that all coefficients are set before pool begin to work and controller begins to be extencively used. All changing of coefficients implemented in non-threadsafe manner and if they will be changed at the same time when OnEvent() is executed unpredictable consequences can happen.
Definition at line 80 of file thread_pool_ctrl.hpp.
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4