35#ifndef __igtlMultiThreader_h
36#define __igtlMultiThreader_h
44#ifdef OpenIGTLink_USE_SPROC
49#if defined(OpenIGTLink_USE_PTHREAD) || defined(OpenIGTLink_HP_PTHREAD)
73#ifdef OpenIGTLink_USE_SPROC
74#define IGTL_MAX_THREADS 128
77#ifdef OpenIGTLink_USE_PTHREADS
78#define IGTL_MAX_THREADS 128
81#ifdef OpenIGTLink_USE_WIN32_THREADS
82#define IGTL_MAX_THREADS 128
87#undef IGTL_MAX_THREADS
88#define IGTL_MAX_THREADS 128
92#if defined(__MINGW32__)
93#undef IGTL_MAX_THREADS
94#define IGTL_MAX_THREADS 1
98#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730
99#undef IGTL_MAX_THREADS
100#define IGTL_MAX_THREADS 1
103#ifndef IGTL_MAX_THREADS
104#define IGTL_MAX_THREADS 1
107#ifdef OpenIGTLink_USE_SPROC
112#ifdef OpenIGTLink_USE_PTHREADS
113typedef void *(*ThreadFunctionType)(
void *);
118#ifdef OpenIGTLink_USE_WIN32_THREADS
124#if !defined(OpenIGTLink_USE_PTHREADS) && !defined(OpenIGTLink_USE_WIN32_THREADS)
157#define ThreadInfoStruct MultiThreader::ThreadInfo
MutexLock::Pointer ActiveFlagLock
void TerminateThread(int thread_id)
SmartPointer< Self > Pointer
igtlSetClampMacro(NumberOfThreads, int, 1, IGTL_MAX_THREADS)
int SpawnThread(ThreadFunctionType, void *data)
static int GetGlobalMaximumNumberOfThreads()
void SetMultipleMethod(int index, ThreadFunctionType, void *data)
static int GetGlobalDefaultNumberOfThreads()
static MultiThreaderIDType GetCurrentThreadID()
void MultipleMethodExecute()
static void SetGlobalMaximumNumberOfThreads(int val)
void SetSingleMethod(ThreadFunctionType, void *data)
virtual int GetNumberOfThreads()
ThreadFunctionType m_SingleMethod
static int ThreadsEqual(MultiThreaderIDType t1, MultiThreaderIDType t2)
void SingleMethodExecute()
igtlTypeMacro(MultiThreader, Object)
static void SetGlobalDefaultNumberOfThreads(int val)
SmartPointer< const Self > ConstPointer
void PrintSelf(std::ostream &os) const
Base class for most igtl classes.
Implements transparent reference counting.
The "igtl" namespace contains all OpenIGTLink classes. There are several nested namespaces within the...
void(* ThreadFunctionType)(void *)