casa
$Rev:20696$
|
#include <ThreadCoordinator.h>
Public Member Functions | |
virtual | ~ThreadCoordinatorBase () |
void | waitForWorkersToFinishTask () |
Protected Member Functions | |
ThreadCoordinatorBase (Int nThreads, bool logStates) | |
void | dispatchWork () |
void | getToWork () |
virtual void | installWorkInfo ()=0 |
bool | waitForWork (const async::Thread *thisThread) |
void | waitForWorkersToReport () |
Protected Attributes | |
Int | nThreads_p |
Private Member Functions | |
void | logState (const String &tag) const |
Private Attributes | |
boost::barrier * | barrier_p |
bool | logStates_p |
async::Mutex * | mutex_p |
volatile Int | nThreadsAtBarrier_p |
volatile Int | nThreadsDispatched_p |
volatile Bool | readyForWork_p |
async::Condition * | stateChanged_p |
const VisBuffer * | vb_p |
volatile bool | workCompleted_p |
volatile bool | workToBeDone_p |
Definition at line 81 of file ThreadCoordinator.h.
virtual casa::ThreadCoordinatorBase::~ThreadCoordinatorBase | ( | ) | [virtual] |
casa::ThreadCoordinatorBase::ThreadCoordinatorBase | ( | Int | nThreads, |
bool | logStates | ||
) | [protected] |
void casa::ThreadCoordinatorBase::dispatchWork | ( | ) | [protected] |
Referenced by casa::ThreadCoordinator< Int >::giveWorkToWorkers().
void casa::ThreadCoordinatorBase::getToWork | ( | ) | [protected] |
Referenced by casa::ThreadCoordinator< Int >::getToWork().
virtual void casa::ThreadCoordinatorBase::installWorkInfo | ( | ) | [protected, pure virtual] |
Implemented in casa::ThreadCoordinator< T >, and casa::ThreadCoordinator< Int >.
void casa::ThreadCoordinatorBase::logState | ( | const String & | tag | ) | const [private] |
bool casa::ThreadCoordinatorBase::waitForWork | ( | const async::Thread * | thisThread | ) | [protected] |
Reimplemented in casa::ThreadCoordinator< T >, and casa::ThreadCoordinator< Int >.
void casa::ThreadCoordinatorBase::waitForWorkersToReport | ( | ) | [protected] |
Referenced by casa::ThreadCoordinator< Int >::giveWorkToWorkers().
boost::barrier* casa::ThreadCoordinatorBase::barrier_p [private] |
Definition at line 104 of file ThreadCoordinator.h.
bool casa::ThreadCoordinatorBase::logStates_p [private] |
Definition at line 105 of file ThreadCoordinator.h.
async::Mutex* casa::ThreadCoordinatorBase::mutex_p [private] |
Definition at line 106 of file ThreadCoordinator.h.
Int casa::ThreadCoordinatorBase::nThreads_p [protected] |
Definition at line 99 of file ThreadCoordinator.h.
Referenced by casa::ThreadCoordinator< Int >::nThreads(), and casa::ThreadCoordinator< Int >::setNThreads().
volatile Int casa::ThreadCoordinatorBase::nThreadsAtBarrier_p [private] |
Definition at line 107 of file ThreadCoordinator.h.
volatile Int casa::ThreadCoordinatorBase::nThreadsDispatched_p [private] |
Definition at line 108 of file ThreadCoordinator.h.
volatile Bool casa::ThreadCoordinatorBase::readyForWork_p [private] |
Definition at line 109 of file ThreadCoordinator.h.
Definition at line 110 of file ThreadCoordinator.h.
const VisBuffer* casa::ThreadCoordinatorBase::vb_p [private] |
Definition at line 111 of file ThreadCoordinator.h.
volatile bool casa::ThreadCoordinatorBase::workCompleted_p [private] |
Definition at line 112 of file ThreadCoordinator.h.
volatile bool casa::ThreadCoordinatorBase::workToBeDone_p [private] |
Definition at line 113 of file ThreadCoordinator.h.