Go to the documentation of this file.
33 #ifndef vtkConditionVariable_h
34 #define vtkConditionVariable_h
36 #include "vtkCommonCoreModule.h"
41 #if defined(VTK_USE_PTHREADS)
49 #ifdef VTK_USE_WIN32_THREADS
51 # define _WIN32_WINNT 0x0501 // 0x0501 means target Windows XP or later
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;
101 #endif // VTK_USE_WIN32_THREADS
103 #ifndef VTK_USE_PTHREADS
104 #ifndef VTK_USE_WIN32_THREADS
202 #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.