33#ifndef vtkConditionVariable_h
34#define vtkConditionVariable_h
36#include "vtkCommonCoreModule.h"
39#include "vtkThreads.h"
43#if defined(VTK_USE_PTHREADS)
50#ifdef VTK_USE_WIN32_THREADS
52#define _WIN32_WINNT 0x0501
54#include "vtkWindows.h"
57#ifdef VTK_USE_WIN32_THREADS
59struct pthread_cond_t_t
62 int WaitingThreadCount;
65 CRITICAL_SECTION WaitingThreadCountCritSec;
68 vtkWindowsHANDLE Semaphore;
72 vtkWindowsHANDLE DoneWaiting;
77using pthread_cond_t =
struct pthread_cond_t_t;
81struct pthread_cond_t_t
84 int WaitingThreadCount;
87 CRITICAL_SECTION WaitingThreadCountCritSec;
98 vtkWindowsHANDLE Event;
100using pthread_cond_t =
struct pthread_cond_t_t;
106#ifndef VTK_USE_PTHREADS
107#ifndef VTK_USE_WIN32_THREADS
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
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)