17#ifndef __albaMultiThreader_h
18#define __albaMultiThreader_h
24#define ALBA_MAX_THREADS 16
26#ifdef CMAKE_USE_SPROC_INIT
27#include <sys/types.h> Needed
for unix implementation of sproc
28#include <unistd.h> Needed
for unix implementation of sproc
31#if defined(CMAKE_USE_PTHREADS_INIT) || defined(CMAKE_HP_PTHREADS_INIT)
47#ifdef CMAKE_USE_SPROC_INIT
52#ifdef CMAKE_USE_PTHREADS_INIT
53typedef void *(*mmuInternalThreadFunctionType)(
void *);
57#ifdef CMAKE_USE_WIN32_THREADS_INIT
62#if !defined(CMAKE_USE_PTHREADS_INIT) && !defined(CMAKE_USE_WIN32_THREADS_INIT)
81 void Print(std::ostream& os,
const int tabs);
94#define mmuThreadInfoStruct albaMultiThreader::mmuThreadInfo
int mmuThreadProcessIDType
#define mmuThreadInfoStruct
This is the structure that is passed to the thread that is created from the SingleMethodExecute,...
void(* mmuInternalThreadFunctionType)(void *)
If CMAKE_USE_SPROC_INIT is defined, then sproc() will be used to create multiple threads on an SGI.
albaBase - the pourpose of this class is just to groups utilities classes
albaMutexLock * m_ActiveFlagLock
albaMultiThreader - A class for performing multithreaded execution.
void Print(std::ostream &os, const int tabs)
void TerminateThread(int thread_id)
Terminate the thread that was created with a SpawnThreadExecute()
int SpawnThread(albaThreadFunctionType, void *UserData)
Create a new thread for the given function.
Critical section locking class that can be allocated on the stack.