28 #ifndef itkMultiThreader_h
29 #define itkMultiThreader_h
55 class ITKCommon_EXPORT MultiThreader :
public Object
59 typedef MultiThreader Self;
60 typedef Object Superclass;
61 typedef SmartPointer<Self> Pointer;
62 typedef SmartPointer<const Self> ConstPointer;
68 itkTypeMacro(MultiThreader, Object);
82 static void SetGlobalMaximumNumberOfThreads(
ThreadIdType val);
90 static void SetGlobalDefaultUseThreadPool(
const bool GlobalDefaultUseThreadPool );
91 static bool GetGlobalDefaultUseThreadPool( );
98 static void SetGlobalDefaultNumberOfThreads(
ThreadIdType val);
106 void SingleMethodExecute();
112 void MultipleMethodExecute();
136 itkSetObjectMacro(ThreadPool, ThreadPool);
139 itkGetModifiableObjectMacro(ThreadPool, ThreadPool);
144 itkSetMacro(UseThreadPool,
bool);
147 itkGetMacro(UseThreadPool,
bool);
160 #ifdef ThreadInfoStruct
161 #undef ThreadInfoStruct
163 struct ThreadInfoStruct
171 enum { SUCCESS, ITK_EXCEPTION, ITK_PROCESS_ABORTED_EXCEPTION, STD_EXCEPTION, UNKNOWN } ThreadExitCode;
177 virtual void PrintSelf(std::ostream & os, Indent indent)
const ITK_OVERRIDE;
180 MultiThreader(
const Self &);
181 void operator=(
const Self &);
187 bool m_UseThreadPool;
218 static bool m_GlobalDefaultUseThreadPool;
229 static ThreadIdType GetGlobalDefaultNumberOfThreadsByPlatform();
void(* ThreadFunctionType)(void *)
SmartPointer< Self > Pointer
#define ITK_THREAD_RETURN_TYPE
unsigned int ThreadIdType
SmartPointer< Self > Pointer