Reference documentation for deal.II version 9.0.0
Classes | Public Member Functions | Private Attributes | Friends | List of all members
Threads::Mutex Class Reference

#include <deal.II/base/thread_management.h>

Classes

class  ScopedLock
 

Public Member Functions

 Mutex ()=default
 
 Mutex (const Mutex &)
 
Mutexoperator= (const Mutex &)
 
void acquire ()
 
void release ()
 

Private Attributes

std::mutex mutex
 

Friends

class ConditionVariable
 

Detailed Description

Class implementing a Mutex. Mutexes are used to lock data structures to ensure that only a single thread of execution can access them at the same time.

Copy semantics

When copied, the receiving object does not receive any state from the object being copied, i.e. an entirely new mutex is created. This is consistent with expectations if a mutex is used as a member variable to lock the other member variables of a class: in that case, the mutex of the copied-to object should only guard the members of the copied-to object, not the members of both the copied-to and copied-from object.

Author
Wolfgang Bangerth, 2002, 2003, 2009

Definition at line 249 of file thread_management.h.

Constructor & Destructor Documentation

◆ Mutex() [1/2]

Threads::Mutex::Mutex ( )
default

Default constructor.

◆ Mutex() [2/2]

Threads::Mutex::Mutex ( const Mutex )
inline

Copy constructor. As discussed in this class's documentation, no state is copied from the object given as argument.

Definition at line 302 of file thread_management.h.

Member Function Documentation

◆ operator=()

Mutex& Threads::Mutex::operator= ( const Mutex )
inline

Copy operators. As discussed in this class's documentation, no state is copied from the object given as argument.

Definition at line 312 of file thread_management.h.

◆ acquire()

void Threads::Mutex::acquire ( )
inline

Acquire a mutex.

Definition at line 321 of file thread_management.h.

◆ release()

void Threads::Mutex::release ( )
inline

Release the mutex again.

Definition at line 329 of file thread_management.h.

Friends And Related Function Documentation

◆ ConditionVariable

friend class ConditionVariable
friend

Make the class implementing condition variables a friend, since it needs to access the mutex.

Definition at line 344 of file thread_management.h.

Member Data Documentation

◆ mutex

std::mutex Threads::Mutex::mutex
private

Data object storing the mutex data

Definition at line 338 of file thread_management.h.


The documentation for this class was generated from the following file: