Threads Module User's Guide : PART I Introduction : Chapter 2 Threads Module Overview : The Threads Module Packages
The Threads Module Packages
the Threads Module is made up of seven packages.
Threading Package
Contains prebuilt, object-oriented, portable implementations of key multithreading mechanisms. You can use these thread classes to create threads, assign work to threads, set thread priority, and more.
Synchronization Package
Contains a set of prebuilt, object-oriented, cross-platform implementations of popular thread synchronization mechanisms. You can control access to shared resources using mutexes, semaphores, locks, guards, condition variables, and more.
Interthread Communication Package
Contains higher-level threading abstractions such as IOUs and producer-consumer classes. You can use these abstractions to design communication between threads within applications.
Smart Pointer Package
Contains low-level classes, including a handle-body implementation for separating your abstractions from their implementation, a generic singleton template for adapting an existing class to behave as a singleton, and smart pointers for the thread-safe and exception-safe management of dynamically allocated resources.
Functor Package
Contains low-level classes called functors. Functors supply interfaces for invocation that are independent of the actual functions. You can combine the functor classes with others in Threads Module to transform your existing single-threaded code into multithreaded code.
Execution Tracing Package
Contains a flexible execution tracing facility that enables you to monitor the runtime behavior of your applications. Trace output messages can be filtered at both compile-time and runtime for maximum flexibility.
Thread-compatible Exception Package
Includes a simple framework for handling exceptions at their point of occurrence and returning a string for display on a GUI or for logging to a file. Handlers can be set for unexpected and uncaught exceptions.