30 #ifndef vtkConditionVariable_h 31 #define vtkConditionVariable_h 33 #include "vtkCommonCoreModule.h" 38 #if defined(VTK_USE_PTHREADS) || defined(VTK_HP_PTHREADS) 46 #ifdef VTK_USE_WIN32_THREADS 48 # define _WIN32_WINNT 0x0501 // 0x0501 means target Windows XP or later 50 # include "vtkWindows.h" 53 #ifdef VTK_USE_WIN32_THREADS 58 int WaitingThreadCount;
61 CRITICAL_SECTION WaitingThreadCountCritSec;
64 vtkWindowsHANDLE Semaphore;
68 vtkWindowsHANDLE DoneWaiting;
79 int WaitingThreadCount;
82 CRITICAL_SECTION WaitingThreadCountCritSec;
93 vtkWindowsHANDLE Event;
98 #endif // VTK_USE_WIN32_THREADS 100 #ifndef VTK_USE_PTHREADS 101 #ifndef VTK_HP_PTHREADS 102 #ifndef VTK_USE_WIN32_THREADS 201 #endif // vtkConditionVariable_h void Signal()
Wake one thread waiting for the condition to change.
mutual exclusion locking class
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int Wait(vtkSimpleMutexLock &mutex)
Wait for the condition to change.
void Broadcast()
Wake all threads waiting for the condition to change.
void Signal()
Wake one thread waiting for the condition to change.
a simple class to control print indentation
void Broadcast()
Wake all threads waiting for the condition to change.
int Wait(vtkMutexLock *mutex)
Wait for the condition to change.
vtkSimpleMutexLock SimpleMutexLock
vtkConditionType ConditionVariable
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkSimpleConditionVariable SimpleConditionVariable
mutual exclusion locking class