25 #ifndef vtkMultiThreader_h
26 #define vtkMultiThreader_h
28 #include "vtkCommonCoreModule.h"
33 #if defined(VTK_USE_PTHREADS)
35 #include <sys/types.h>
53 #ifdef VTK_USE_PTHREADS
54 typedef void* (*vtkThreadFunctionType)(
void*);
61 #ifdef VTK_USE_WIN32_THREADS
69 #if !defined(VTK_USE_PTHREADS) && !defined(VTK_USE_WIN32_THREADS)
113 vtkSetClampMacro(NumberOfThreads,
int, 1, VTK_MAX_THREADS);
114 virtual int GetNumberOfThreads();
123 static void SetGlobalMaximumNumberOfThreads(
int val);
124 static int GetGlobalMaximumNumberOfThreads();
133 static void SetGlobalDefaultNumberOfThreads(
int val);
134 static int GetGlobalDefaultNumberOfThreads();
145 void SingleMethodExecute();
152 void MultipleMethodExecute();
179 void TerminateThread(
int thread_id);
214 int SpawnedThreadActiveFlag[VTK_MAX_THREADS];
215 std::mutex* SpawnedThreadActiveFlagLock[VTK_MAX_THREADS];
221 void* MultipleData[VTK_MAX_THREADS];