Reference documentation for deal.II version 9.0.0
Public Member Functions | Static Public Member Functions | List of all members
Threads::DummyBarrier Class Reference

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

Public Member Functions

 DummyBarrier (const unsigned int count, const char *name=nullptr, void *arg=nullptr)
 
int wait () const
 
void dump () const
 

Static Public Member Functions

static ::ExceptionBaseExcBarrierSizeNotUseful (int arg1)
 

Detailed Description

This class is used instead of a true barrier class when not using multithreading. It allows to write programs such that they use the same class names in multithreading and non-MT mode and thus may be compiled with or without thread-support without the need to use conditional compilation. Since a barrier class only makes sense in non-multithread mode if only one thread is to be synchronized (otherwise, the barrier could not be left, since the one thread is waiting for some other part of the program to reach a certain point of execution), the constructor of this class throws an exception if the count argument denoting the number of threads that need to be synchronized is not equal to one.

Author
Wolfgang Bangerth, 2001

Definition at line 188 of file thread_management.h.

Constructor & Destructor Documentation

◆ DummyBarrier()

Threads::DummyBarrier::DummyBarrier ( const unsigned int  count,
const char *  name = nullptr,
void *  arg = nullptr 
)

Constructor. Since barriers are only useful in single-threaded mode if the number of threads to be synchronized is one, this constructor raises an exception if the count argument is one.

Member Function Documentation

◆ wait()

int Threads::DummyBarrier::wait ( ) const
inline

Wait for all threads to reach this point. Since there may only be one thread, return immediately, i.e. this function is a no-op.

Definition at line 204 of file thread_management.h.

◆ dump()

void Threads::DummyBarrier::dump ( ) const
inline

Dump the state of this object. Here: do nothing.

Definition at line 212 of file thread_management.h.


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