30#ifndef vtkConditionVariable_h
31#define vtkConditionVariable_h
33#include "vtkCommonCoreModule.h"
36#include "vtkThreads.h"
40#if defined(VTK_USE_PTHREADS)
47#ifdef VTK_USE_WIN32_THREADS
49#define _WIN32_WINNT 0x0501
51#include "vtkWindows.h"
54#ifdef VTK_USE_WIN32_THREADS
56struct pthread_cond_t_t
59 int WaitingThreadCount;
62 CRITICAL_SECTION WaitingThreadCountCritSec;
65 vtkWindowsHANDLE Semaphore;
69 vtkWindowsHANDLE DoneWaiting;
74using pthread_cond_t =
struct pthread_cond_t_t;
78struct pthread_cond_t_t
81 int WaitingThreadCount;
84 CRITICAL_SECTION WaitingThreadCountCritSec;
95 vtkWindowsHANDLE Event;
97using pthread_cond_t =
struct pthread_cond_t_t;
103#ifndef VTK_USE_PTHREADS
104#ifndef VTK_USE_WIN32_THREADS
mutual exclusion locking class
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.
static vtkConditionVariable * New()
vtkConditionVariable()=default
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()
static vtkSimpleConditionVariable * New()
~vtkSimpleConditionVariable()
void Broadcast()
Wake all threads waiting for the condition to change.
int Wait(vtkSimpleMutexLock &mutex)
Wait for the condition to change.
vtkConditionType ConditionVariable
#define VTK_DEPRECATED_IN_9_1_0(reason)