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< ThreadBarrierImplm_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.

Definition at line 54 of file ThreadBarrier.hpp.


Constructor & Destructor Documentation

BLOCXX_NAMESPACE::ThreadBarrier::ThreadBarrier UInt32  threshold  ) 
 

Constructor.

Parameters:
threshold The 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:
ThreadBarrierException if the underlying implementation fails.

Definition at line 163 of file ThreadBarrier.cpp.

References BLOCXX_ASSERT.

BLOCXX_NAMESPACE::ThreadBarrier::~ThreadBarrier  ) 
 

Definition at line 174 of file ThreadBarrier.cpp.

BLOCXX_NAMESPACE::ThreadBarrier::ThreadBarrier const ThreadBarrier x  ) 
 

Definition at line 178 of file ThreadBarrier.cpp.


Member Function Documentation

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

Definition at line 183 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 if the underlying implementation fails.

Definition at line 169 of file ThreadBarrier.cpp.

References m_impl.

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


Member Data Documentation

IntrusiveReference<ThreadBarrierImpl> BLOCXX_NAMESPACE::ThreadBarrier::m_impl [private]
 

Definition at line 80 of file ThreadBarrier.hpp.

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


The documentation for this class was generated from the following files:
Generated on Fri Jun 16 15:39:12 2006 for blocxx by  doxygen 1.4.6