|  | OGRE 2.1
    Object-Oriented Graphics Rendering Engine | 
#include <OgreThreads.h>
| Static Public Member Functions | |
| static ThreadHandlePtr | CreateThread (THREAD_ENTRY_POINT entryPoint, size_t threadIdx, void *param) | 
| Creates and executes a new thread. | |
| static bool | CreateTls (TlsHandle *outTls) | 
| Allocates a Thread Local Storage handle to use. | |
| static void | DestroyTls (TlsHandle tlsHandle) | 
| Destroys a Thread Local Storage handle created with CreateTls. | |
| static void * | GetTls (TlsHandle tlsHandle) | 
| static void | SetTls (TlsHandle tlsHandle, void *value) | 
| static void | Sleep (uint32 milliseconds) | 
| Sleeps for a minimum of the specified time of milliseconds. | |
| static void | WaitForThreads (const ThreadHandleVec &threadHandles) | 
| static void | WaitForThreads (size_t numThreadHandles, const ThreadHandlePtr *threadHandles) | 
| Waits until all threads are finished. | |
| 
 | static | 
Creates and executes a new thread.
unsigned long myOwnThread( ThreadHandle *ownThreadHandle ) { Should print "Hello from thread 50" printf( "Hello from thread %i", ownThreadHandle.getThreadIdx() ); return 0; } THREAD_DECLARE( myOwnThread );
int main() { ThreadHandle handle = CreateThread( THREAD_GET( myOwnThread ), 50, 0 ); WaitForThreads( 1, handle ); return 0; }
It is not possible to retrieve the return value of the function because it's not portable (and trying to emulate it induces to easy-to-cause memory leaks; as we're dealing with C functions + potential race conditions, not C++)
| entryPoint | Function name of the entry point. VERY IMPORTANT: The entry point must be provided by THREAD_GET. Do not use a function directly, otherwise there will be memory leaks! | 
| threadIdx | Optional index for this thread (ie. when you have many worker threads to work on a section of data. | 
| param | Optional argument to be passed. | 
Allocates a Thread Local Storage handle to use.
| outTls | [out] Handle to TLS. On failure this handle is set to OGRE_TLS_INVALID_HANDLE | 
Destroys a Thread Local Storage handle created with CreateTls.
| tlsHandle | Handle to destroy | 
Sleeps for a minimum of the specified time of milliseconds.
Actual time spent sleeping may vary widely depending on OS and other variables. Do not feed 0.
| 
 | static | 
| 
 | static | 
Waits until all threads are finished.
| numThreadInfos | Number of ThreadHandle passed in the array as 'threadHandles' | 
| threadHandles | Array of numThreadHandles or more ThreadHandle |