| 1 |
|
|---|
| 2 |
This library is intended to provide a minimal & complete Object-Oriented (OO) |
|---|
| 3 |
thread interface for C++ programmers. It is loosely modeled on the Java thread |
|---|
| 4 |
API, and the POSIX Threads standards. The architecture of the library is |
|---|
| 5 |
designed around "swappable" thread models which are defined at compile-time |
|---|
| 6 |
in a shared object library. |
|---|
| 7 |
|
|---|
| 8 |
It is of importance to note that while a factory pattern design could have been |
|---|
| 9 |
used to achieve the goal of genaric interface, it would have required the |
|---|
| 10 |
programmer to allocate each of the 4 fundemental types (Thread, Mutex, Barrier, |
|---|
| 11 |
& Condition ) on the heap. Due to the cost associated with heap allocation |
|---|
| 12 |
for some of these constructs, such allocation was deemed unacceptable, and thus |
|---|
| 13 |
the factory pattern was not used. |
|---|
| 14 |
|
|---|
| 15 |
Instead, a somewhat obtuse - but effective - technique was chosen to provide |
|---|
| 16 |
the necessary data/implementation hiding. This technique uses private void |
|---|
| 17 |
pointers to encapsulate object private data. The void pointers actually point |
|---|
| 18 |
at concrete data structures, but give a uniform interface to the dso. |
|---|
| 19 |
|
|---|
| 20 |
It is the intent of the Open Thread Group that the interfaces (header files) |
|---|
| 21 |
will be used to construct optimized implementations using platform optimized |
|---|
| 22 |
multi-processing constructs such as the sproc methods used on IRIX & windows |
|---|
| 23 |
threads. A sample implementation has been provided using the POSIX standards. |
|---|
| 24 |
|
|---|
| 25 |
A doxygen file has been provided to create code documentation & man pages. |
|---|
| 26 |
It can be found in the root directory under docs/ |
|---|
| 27 |
|
|---|
| 28 |
Although the Open Thread Group does not have an email alias at this point in |
|---|
| 29 |
time, one may contact the group via Don Burns (don@andesengineernig.com) or |
|---|
| 30 |
Robert Osfield (robert@openscenegraph.com). |
|---|
| 31 |
|
|---|
| 32 |
|
|---|
| 33 |
- The Open Thread Group |
|---|
| 34 |
|
|---|