27 #ifndef __vtkMultiThreader_h
28 #define __vtkMultiThreader_h
30 #include "vtkCommonCoreModule.h"
34 #include <sys/types.h>
38 #if defined(VTK_USE_PTHREADS) || defined(VTK_HP_PTHREADS)
40 #include <sys/types.h>
66 #ifdef VTK_USE_PTHREADS
67 typedef void *(*vtkThreadFunctionType)(
void *);
74 #ifdef VTK_USE_WIN32_THREADS
82 #if !defined(VTK_USE_PTHREADS) && !defined(VTK_USE_WIN32_THREADS)
113 #define ThreadInfoStruct vtkMultiThreader::ThreadInfo
129 vtkSetClampMacro( NumberOfThreads,
int, 1, VTK_MAX_THREADS );
130 virtual int GetNumberOfThreads();
137 static void SetGlobalMaximumNumberOfThreads(
int val);
138 static int GetGlobalMaximumNumberOfThreads();
145 static void SetGlobalDefaultNumberOfThreads(
int val);
146 static int GetGlobalDefaultNumberOfThreads();
156 void SingleMethodExecute();
161 void MultipleMethodExecute();
179 void TerminateThread(
int thread_id );
182 int IsThreadActive(
int threadID );
211 int SpawnedThreadActiveFlag[VTK_MAX_THREADS];
220 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