User Documentation
RAVL, Recognition And Vision Library
DEVELOP HOME PAGE CLASS LIST CONTENTS
Ravl - OS - Threads


POSIX based threading, and associated tools.

These classes provide a machine independant interface to allow the creation and managment of threads within an application.

Normal classes:

 ThreadC Thread handle.
 MutexC Mutual Exclusion lock.
 MutexLockC Exception safe MutexC locking class.
 ConditionalMutexC Conditional variable.
 SemaphoreC Semaphore.
 RWLockC Read/Write lock.
 RWLockHoldC Exception safe RWLockC locking class.
 SemaphoreRC Reference counted semaphore.
 ThreadEventC Broadcast Event.
 MessageQueueC Thread safe queue.
 LaunchThreadC Launch event handle.

Normal functions:

 OSYield(void) Yield control of processor
 CurrentThreadID(void) Get ID of current running thread.
 ThisThreadID(void) Get ID for this thread.
 operator <<(ostream &,const SemaphoreC &) Write out to stream.
 operator >>(istream &,SemaphoreC &) Read in from stream.
 LaunchThread(const TriggerC &) Launch a routine on another thread.
 LaunchThread(bool (*nFunc)() ) Launch a routine on another thread.
 LaunchThread(bool (*nFunc)(DataT &) ,const DataT &) Launch a routine on another thread.
 LaunchThread(bool (*nFunc)(Data1T &,Data2T &) ,const Data1T &,const Data2T &) Launch a routine on another thread.
 LaunchThread(bool (*nFunc)(Data1T &,Data2T &,Data3T &) ,const Data1T &,const Data2T &,const Data3T &) Launch a routine on another thread.
 LaunchThread(const ObjT &,bool (*nFunc)() ) Launch a method on another thread.
 LaunchThread(const ObjT &,bool (*nFunc)(DataT &) ,const DataT &) Launch a method on another thread.
 LaunchThread(const ObjT &,bool (*nFunc)(Data1T &,Data2T &) ,const Data1T &,const Data2T &) Launch a method on another thread.
 LaunchThread(const ObjT &,bool (*nFunc)(Data1T &,Data2T &,Data3T &) ,const Data1T &,const Data2T &,const Data3T &) Launch a method on another thread.
 LaunchThread(const ObjT &,bool (*nFunc)(Data1T &,Data2T &,Data3T &,Data4T &) ,const Data1T &,const Data2T &,const Data3T &,const Data4T &) Launch a method on another thread.
 LaunchThread(const ObjT &,bool (*nFunc)(Data1T &,Data2T &,Data3T &,Data4T &,Data5T &) ,const Data1T &,const Data2T &,const Data3T &,const Data4T &,const Data5T &) Launch a method on another thread.
 LaunchThreadR(const ObjT &,bool (*nFunc)() ) Launch a method on another thread.
 LaunchThreadR(const ObjT &,bool (*nFunc)(DataT &) ,const DataT &) Launch a method on another thread.
 LaunchThreadR(const ObjT &,bool (*nFunc)(Data1T &,Data2T &) ,const Data1T &,const Data2T &) Launch a method on another thread.
 LaunchThreadR(const ObjT &,bool (*nFunc)(Data1T &,Data2T &,Data3T &) ,const Data1T &,const Data2T &,const Data3T &) Launch a method on another thread.
 LaunchThreadR(const ObjT &,bool (*nFunc)(Data1T &,Data2T &,Data3T &,Data4T &) ,const Data1T &,const Data2T &,const Data3T &,const Data4T &) Launch a method on another thread.
 LaunchThreadR(const ObjT &,bool (*nFunc)(Data1T &,Data2T &,Data3T &,Data4T &,Data5T &) ,const Data1T &,const Data2T &,const Data3T &,const Data4T &,const Data5T &) Launch a method on another thread.
Maintainer:Charles Galambos, Documentation by CxxDoc: Tue Aug 13 10:00:52 2002