blocxx
Public Member Functions | Private Attributes

BLOCXX_NAMESPACE::ThreadBarrier Class Reference

The ThreadBarrier class is used to synchronize threads. More...

#include <ThreadBarrier.hpp>

List of all members.

Public Member Functions

 ThreadBarrier (UInt32 threshold)
 Constructor.
void wait ()
 Synchronize participating threads at the barrier.
 ~ThreadBarrier ()
 ThreadBarrier (const ThreadBarrier &x)
ThreadBarrieroperator= (const ThreadBarrier &x)

Private Attributes

IntrusiveReference
< ThreadBarrierImpl
m_impl

Detailed Description

The ThreadBarrier class is used to synchronize threads.

Each thread that calls wait() will block until threshold number of threads has called wait() This class is freely copyable. All copies reference the same underlying implementation.

Note that descriptions of what exceptions may be thrown assumes that the object is used correctly, i.e., method preconditions are satsified.

Definition at line 59 of file ThreadBarrier.hpp.


Constructor & Destructor Documentation

BLOCXX_NAMESPACE::ThreadBarrier::ThreadBarrier ( UInt32  threshold)

Constructor.

Parameters:
thresholdThe number of threads that must call wait() before any of them successfully return from the call. The value specified by threshold must be greater than zero.
Exceptions:
ThreadBarrierExceptionif needed system resources exhausted.
std::bad_allocif memory exhausted.

Definition at line 166 of file ThreadBarrier.cpp.

References BLOCXX_ASSERT.

BLOCXX_NAMESPACE::ThreadBarrier::~ThreadBarrier ( )

Definition at line 177 of file ThreadBarrier.cpp.

BLOCXX_NAMESPACE::ThreadBarrier::ThreadBarrier ( const ThreadBarrier x)

Definition at line 181 of file ThreadBarrier.cpp.


Member Function Documentation

ThreadBarrier & BLOCXX_NAMESPACE::ThreadBarrier::operator= ( const ThreadBarrier x)

Definition at line 186 of file ThreadBarrier.cpp.

References m_impl.

void BLOCXX_NAMESPACE::ThreadBarrier::wait ( )

Synchronize participating threads at the barrier.

The calling thread shall block until the required number of threads have called wait().

Exceptions:
ThreadBarrierException(programmer error only)
ThreadCancelledException

Definition at line 172 of file ThreadBarrier.cpp.

References m_impl.

Referenced by BLOCXX_NAMESPACE::Thread::start(), and BLOCXX_NAMESPACE::Thread::threadRunner().


Member Data Documentation

Definition at line 87 of file ThreadBarrier.hpp.

Referenced by operator=(), and wait().


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