A Portable Object-Oriented C++ Thread Library
Concurrency has become an increasingly
important aspect of software today. The ZThread package is an advanced
object-oriented, cross-platform, C++ threading and synchronization library
that has been designed and implemented by the author and released under
the LGPL. It provides a high level abstraction of the native threading
mechanisms to offer a great deal of flexibility and control.
This software features interruptible
Thread and Runnable objects for C++, various synchronization objects and implementations
of concurrency design patterns. This includes semaphores, mutexes, condition
variabes as well as other more complex components. Take a look through the
documentation for a more complete description of these and other objects.
Existing threading APIs do not provide
a consistent and portable means for exercising control over concurrent threads of execution..
For instance, each platform has its own specialized methods for error handling,
thread cancellation and termination. ZThreads includes an elegant method of safely
interrupting and terminating threads without complications, and much more.
This is a platform independent architecture
that was designed by the author. Implementations have been provided for
POSIX and Win32 platforms. Building this library was quite different for
POSIX than it was for Win32 due to the nature of the functionality each
platform naturally provides; each platform had strong and weak points.
They were used to create the most flexible and efficent abstraction possible.
The result is an excellent software layer on which to build mutlithreaded code.
|