Go to the documentation of this file.
30 #ifndef vtkConditionVariable_h
31 #define vtkConditionVariable_h
33 #include "vtkCommonCoreModule.h"
38 #if defined(VTK_USE_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_USE_WIN32_THREADS
199 #endif // vtkConditionVariable_h
void Broadcast()
Wake all threads waiting for the condition to change.
vtkSimpleMutexLock SimpleMutexLock
mutual exclusion locking class
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
void Broadcast()
Wake all threads waiting for the condition to change.
abstract base class for most VTK objects
int Wait(vtkSimpleMutexLock &mutex)
Wait for the condition to change.
void Signal()
Wake one thread waiting for the condition to change.
vtkSimpleConditionVariable SimpleConditionVariable
vtkConditionType ConditionVariable
void Signal()
Wake one thread waiting for the condition to change.
a simple class to control print indentation
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
mutual exclusion locking class
int Wait(vtkMutexLock *mutex)
Wait for the condition to change.