33 #ifndef vtkConditionVariable_h
34 #define vtkConditionVariable_h
36 #include "vtkCommonCoreModule.h"
41 #if defined(VTK_USE_PTHREADS) || defined(VTK_HP_PTHREADS)
49 #ifdef VTK_USE_WIN32_THREADS
51 # define _WIN32_WINNT 0x0501
53 # include "vtkWindows.h"
56 #ifdef VTK_USE_WIN32_THREADS
61 int WaitingThreadCount;
64 CRITICAL_SECTION WaitingThreadCountCritSec;
67 vtkWindowsHANDLE Semaphore;
71 vtkWindowsHANDLE DoneWaiting;
82 int WaitingThreadCount;
85 CRITICAL_SECTION WaitingThreadCountCritSec;
96 vtkWindowsHANDLE Event;
103 #ifndef VTK_USE_PTHREADS
104 #ifndef VTK_HP_PTHREADS
105 #ifndef VTK_USE_WIN32_THREADS
mutual exclusion locking class
static vtkConditionVariable * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int Wait(vtkMutexLock *mutex)
Wait for the condition to change.
void Broadcast()
Wake all threads waiting for the condition to change.
vtkSimpleConditionVariable SimpleConditionVariable
void Signal()
Wake one thread waiting for the condition to change.
a simple class to control print indentation
mutual exclusion locking class
vtkSimpleMutexLock SimpleMutexLock
abstract base class for most VTK objects
void Signal()
Wake one thread waiting for the condition to change.
vtkSimpleConditionVariable()
~vtkSimpleConditionVariable()
void Broadcast()
Wake all threads waiting for the condition to change.
static vtkSimpleConditionVariable * New()
int Wait(vtkSimpleMutexLock &mutex)
Wait for the condition to change.
vtkConditionType ConditionVariable