| 
    Nektar++
    
   | 
 
Classes | |
| class | ThreadJob | 
| Base class for tasks to be sent to the ThreadManager to run.  More... | |
| class | ThreadManager | 
| The interface class for the controller for worker threads and jobs.  More... | |
| class | ThreadManagerBoost | 
| Implementation of ThreadManager using Boost threads.  More... | |
| class | ThreadMaster | 
| class | ThreadStartupManager | 
| A default ThreadManager.  More... | |
| class | ThreadWorkerBoost | 
| Implementation class for ThreadManagerBoost.  More... | |
Typedefs | |
| typedef boost::shared_ptr < ThreadManager >  | ThreadManagerSharedPtr | 
| typedef  LibUtilities::NekFactory < std::string, ThreadManager, unsigned int >  | ThreadManagerFactory | 
| typedef boost::unique_lock < boost::shared_mutex >  | WriteLock | 
| typedef boost::shared_lock < boost::shared_mutex >  | ReadLock | 
| typedef boost::unique_lock < boost::mutex >  | Lock | 
Enumerations | |
| enum | SchedType { e_guided, e_dynamic } | 
| Identifies the algorithm for scheduling.  More... | |
Functions | |
| ThreadManagerFactory & | GetThreadManagerFactory () | 
| ThreadMaster & | GetThreadMaster () | 
| typedef boost::unique_lock<boost::mutex> Nektar::Thread::Lock | 
Definition at line 52 of file ThreadBoost.h.
| typedef boost::shared_lock<boost::shared_mutex> Nektar::Thread::ReadLock | 
| typedef LibUtilities::NekFactory<std::string, ThreadManager, unsigned int> Nektar::Thread::ThreadManagerFactory | 
| typedef boost::shared_ptr<ThreadManager> Nektar::Thread::ThreadManagerSharedPtr | 
| typedef boost::unique_lock<boost::shared_mutex> Nektar::Thread::WriteLock | 
Identifies the algorithm for scheduling.
Currently there are two strategies to determine the number of jobs. e_static always loads m_chunkSize jobs onto each worker, e_guided uses a simple algorithm that loads a larger proportion of jobs onto the worker as the size of the queue list is large, but scales down to no fewer than m_chunkSize as the queue empties.
| Enumerator | |
|---|---|
| e_guided | |
| e_dynamic | |
Definition at line 67 of file Thread.h.
| ThreadManagerFactory & Nektar::Thread::GetThreadManagerFactory | ( | ) | 
Definition at line 49 of file Thread.cpp.
Referenced by Nektar::Thread::ThreadMaster::CreateInstance().
| ThreadMaster & Nektar::Thread::GetThreadMaster | ( | ) | 
Definition at line 143 of file Thread.cpp.
 1.8.8