(So lightweight that it doesn't even have a
fancy logo!)
Home
Project
Page Downloads Support Links
Nightly CVS Tarball
This library is intended to provide a minimal
& complete Object-Oriented (OO) thread interface for C++ programmers.
It is loosely modeled on the Java thread API, and the POSIX Threads
standards. The architecture of the library is designed around "swappable"
thread models which are defined at compile-time in a shared object library.
It is of importance to note that while a factory pattern design could have
been used to achieve the goal of genaric interface, it would have required the
programmer to allocate each of the 4 fundemental types (Thread, Mutex, Barrier,
& Condition ) on the heap. Due to the cost associated with heap
allocation of the underlying concrete implementations of these constructs on
some platforms, such allocation was deemed unacceptable at the time this library
was originally written, and thus the factory pattern was not used.
Instead, a somewhat obtuse - but effective -
technique was chosen to provide the necessary data/implementation hiding.
This technique uses private void pointers to encapsulate object private
data. The void pointers actually point at concrete data structures, but
give a uniform interface to the dso.
It is the intent of the Open Thread Group that
the interfaces (header files) will be used to construct optimized
implementations using platform optimized multi-processing constructs such as the
sproc methods used on IRIX & Windows (tm) threads on that Seattle based
platform. There are currently concrete implementations using both POSIX
and Mircrosoft Windows (tm) Threads in CVS.
The CVS repository for OpenThreads is now on the openscenegraph.org server.
You should discontinue using both the sourceforge version and the
openscenegraph.org OpenThreadsUpdate version. Please do a fresh checkout of:
cvs -d :pserver:cvsguest@openscenegraph.org:/cvs/openthreads co
OpenThreads