27 #ifndef __vtkMultiThreader_h
28 #define __vtkMultiThreader_h
33 #include <sys/types.h>
37 #if defined(VTK_USE_PTHREADS) || defined(VTK_HP_PTHREADS)
39 #include <sys/types.h>
65 #ifdef VTK_USE_PTHREADS
66 typedef void *(*vtkThreadFunctionType)(
void *);
73 #ifdef VTK_USE_WIN32_THREADS
81 #if !defined(VTK_USE_PTHREADS) && !defined(VTK_USE_WIN32_THREADS)
112 #define ThreadInfoStruct vtkMultiThreader::ThreadInfo
128 vtkSetClampMacro( NumberOfThreads,
int, 1, VTK_MAX_THREADS );
129 virtual int GetNumberOfThreads();
136 static void SetGlobalMaximumNumberOfThreads(
int val);
137 static int GetGlobalMaximumNumberOfThreads();
144 static void SetGlobalDefaultNumberOfThreads(
int val);
145 static int GetGlobalDefaultNumberOfThreads();
155 void SingleMethodExecute();
160 void MultipleMethodExecute();
178 void TerminateThread(
int thread_id );
181 int IsThreadActive(
int threadID );
210 int SpawnedThreadActiveFlag[VTK_MAX_THREADS];
219 void *MultipleData[VTK_MAX_THREADS];
abstract base class for most VTK objects
vtkMutexLock * ActiveFlagLock
A class for performing multithreaded execution.
int vtkMultiThreaderIDType
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
int vtkThreadProcessIDType
void(* vtkThreadFunctionType)(void *)
mutual exclusion locking class
vtkThreadFunctionType SingleMethod