A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

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...
  CObjectoperator= (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