(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: