task is an eclipse and a Visual C++ project at same time.
Because pthread exists for Windows (Useful links),
the _PURE_WIN32 preprocessor flag is used for specific Windows's
implementation.
It implements a Mutex class :
* POSIX mutex class
* Acts like a semaphore(1)
* Uses different libraries
* Expressive preprocessor flags to use one of these libraries are :
* _BOOST, _IPC, _GNU_PTH, _SOLARIS, _TAO, _OMNIORB, _PURE_WIN32, none
(default) : POSIX pthread
*
* Defines a waitForMultipleMutexes function acting like the Windows's :
* WaitForMultipleObjects(DWORD nCount, const HANDLE *lpHandles, bool
bWaitAll, DWORD dwMilliseconds)
*
* Defines the Windows's DWORD GetTickCount(void)
*
* Methods : _lock(), _trylock() and _unlock()
It implements a ListOfPointers class :
* FIFO\LIFO list of pointers of types, structures or classes
* ListOfPointers is a template class
* ListOfPointers is entirely protected by mutexes
It implements a ThreadClass class :
* Uses different libraries
* Expressive preprocessor flags to use one of these libraries are :
* _BOOST, _GNU_PTH, _SOLARIS, _TAO, _OMNIORB, _PURE_WIN32, none (default) :
POSIX pthread