25 #ifndef vtkMultiThreader_h
26 #define vtkMultiThreader_h
28 #include "vtkCommonCoreModule.h"
32 #include <sys/types.h>
36 #if defined(VTK_USE_PTHREADS) || defined(VTK_HP_PTHREADS)
38 #include <sys/types.h>
64 #ifdef VTK_USE_PTHREADS
65 typedef void *(*vtkThreadFunctionType)(
void *);
72 #ifdef VTK_USE_WIN32_THREADS
80 #if !defined(VTK_USE_PTHREADS) && !defined(VTK_USE_WIN32_THREADS)
111 #define ThreadInfoStruct vtkMultiThreader::ThreadInfo
128 vtkSetClampMacro( NumberOfThreads,
int, 1, VTK_MAX_THREADS );
129 virtual int GetNumberOfThreads();
138 static void SetGlobalMaximumNumberOfThreads(
int val);
139 static int GetGlobalMaximumNumberOfThreads();
148 static void SetGlobalDefaultNumberOfThreads(
int val);
149 static int GetGlobalDefaultNumberOfThreads();
160 void SingleMethodExecute();
167 void MultipleMethodExecute();
194 void TerminateThread(
int thread_id );
199 int IsThreadActive(
int threadID );
230 int SpawnedThreadActiveFlag[VTK_MAX_THREADS];
237 void *MultipleData[VTK_MAX_THREADS];
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.
vtkMutexLock * ActiveFlagLock
A class for performing multithreaded execution.
int vtkMultiThreaderIDType
a simple class to control print indentation
int vtkThreadProcessIDType
void(* vtkThreadFunctionType)(void *)
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
mutual exclusion locking class