Nektar++
Classes | Namespaces | Typedefs | Enumerations | Functions
Thread.h File Reference
#include <memory>
#include <mutex>
#include <queue>
#include <shared_mutex>
#include <thread>
#include <vector>
#include <LibUtilities/BasicUtils/NekFactory.hpp>

Go to the source code of this file.

Classes

class  Nektar::Thread::ThreadJob
 Base class for tasks to be sent to the ThreadManager to run. More...
 
class  Nektar::Thread::ThreadManager
 The interface class for the controller for worker threads and jobs. More...
 
class  Nektar::Thread::ThreadMaster
 
class  Nektar::Thread::ThreadStartupManager
 A default ThreadManager. More...
 

Namespaces

namespace  Nektar
 
namespace  Nektar::Thread
 

Typedefs

typedef std::shared_ptr< ThreadManager > Nektar::Thread::ThreadManagerSharedPtr
 
typedef LibUtilities::NekFactory< std::string, ThreadManager, unsigned int > Nektar::Thread::ThreadManagerFactory
 
typedef std::unique_lock< std::shared_mutex > Nektar::Thread::WriteLock
 
typedef std::shared_lock< std::shared_mutex > Nektar::Thread::ReadLock
 

Enumerations

enum  Nektar::Thread::SchedType { Nektar::Thread::e_guided , Nektar::Thread::e_dynamic }
 Identifies the algorithm for scheduling. More...
 

Functions

ThreadManagerFactory & Nektar::Thread::GetThreadManagerFactory ()
 
ThreadMaster & Nektar::Thread::GetThreadMaster ()