The aim of this library,
is to provide the programmer with an easy to use class, that can
be further inherited to provide a rich set of threaded
functionality rarely seen in a linux environment. Full C++ is
provided, without any wrapping around underlying C code, which
gives more compact and faster objects.
As of version 2.x, the
library provides process scoping, a feature that has been greatly
missed in the linux community. This feature allows different
programs to share memory and control variables, for
synchronisation and direct data communications.
A new feature in 2.1, is
the ability to simulate asynchronous I/O on file descriptors. An
example provided with the library, shows how to communicate with
a modem with an asynchronous method where data is obtained and
stored in a priority queue, giving the main process full ability
to handle other tasks. Such an I/O class, can be used to handle
data input from several different file descriptors
simultaneously, but is limited to handling only one server file
descriptor per class.
Where to obtain...
To obtain the library in
source form, just follow this link. The library is provided in
binary form, for SuSE only. There are two packages precompiled on
a SuSE 6.3 system, a package containing the runtime libraries and
a package containing the development headers. Both packages are
needed for development, while only the runtime package is needed
to run programs dynamically linked with it. The library is
installed in /usr/local/lib, and the headers in
/usr/local/include. Beyond the headers, the development package
holds the example programs, that provide details on how the
library works, and the features it provides. These are located in
/usr/doc/packages/threads-dev/ under examples.
The C++ threads library, is a new
implementation of threads and may therefore undergo further
development, either as a result of users suggestions, or to keep
up with thread issues and compatibility. If you wish to
contribute to the project, either in form of ideas or direct
development, you are urged to contact the author, or even better
to join the mailing list and submit any suggestions there.