libMesh
Classes | Namespaces | Typedefs | Variables
threads.h File Reference

Go to the source code of this file.

Classes

class  libMesh::Threads::RAIIAcquire< T, new_x_default, assert_change >
 We use a class to turn Threads::in_threads on and off, to be exception-safe. More...
 
class  libMesh::Threads::DisablePerfLogInScope
 We use a class to turn perf logging off and on within threads, to be exception-safe and to avoid forcing indirect inclusion of libmesh_logging.h everywhere. More...
 
class  libMesh::Threads::NonConcurrentThread
 Simple compatibility class for std::thread 'concurrent' execution. More...
 
class  libMesh::Threads::BlockedRange< T >
 Blocked range which can be subdivided and executed in parallel. More...
 

Namespaces

 libMesh
 The libMesh namespace provides an interface to certain functionality in the library.
 
 libMesh::Threads
 The Threads namespace is for wrapper functions for common general multithreading algorithms and tasks.
 

Typedefs

typedef RAIIAcquire< bool, true, true > libMesh::Threads::BoolAcquire
 

Variables

int libMesh::Threads::active_threads = 1
 An integer which is set to the number of active threads when we are in a Threads:: parallel operation. More...
 
bool libMesh::Threads::in_threads = false
 A boolean which is true iff we are in a Threads:: function It may be useful to assert(!Threadsin_threads), in any code which is known to not be thread-safe. More...
 
spin_mutex libMesh::Threads::spin_mtx
 A convenient spin mutex object which can be used for obtaining locks. More...
 
recursive_mutex libMesh::Threads::recursive_mtx
 A convenient recursive mutex object which can be used for obtaining locks. More...