C++CSP2 is a process-oriented programming library for C++, based on ideas derived from CSP (Communicating Sequential Processes). It supports Windows and Linux, on x86 and x86-64 compatible processors.
To get started with C++CSP2, please read the pages on Installing C++CSP2 and The Guide to C++CSP2
This documentation provides details on the API of C++CSP2 and how to use it. It is roughly divided into the following sections:
- Processes (sub-classes of CSProcess and ThreadCSProcess) are the main units of code in C++CSP2, and this page gives an overview of them.
- Processes can be run sequentially or concurrently; the page on Running Processes details how to do this.
- Process primarily communicate using Channels, typed one-directional communication pathways between processes. The multiple types of channels available in C++CSP2 are explained on the Channels page.
- Channels are accessed using Channel Ends; how to communicate over channels is described on this page.
- Buffered Channels can used a variety of different buffers, and these are described on the Channel Buffers page.
- C++CSP2 supports channel Poison, a mechanism for easily shutting down concurrent programs.
- Time Functions are available for dealing with time; measuring time, and waiting for specific amounts of time to elapse.
- An Alternative is a powerful construct for expressing choice, that allows you to wait for the first of a specified set of events to occur.
- A Barrier is a synchronization construct that allows an arbitrary number of proceses to synchronize, as well as dynamic enrolling and resigning from the barrier.
- A Mobile is a smart pointer that prevents aliasing.
There are also some other useful pages available:
Generated on Mon Aug 20 12:24:28 2007 for C++CSP2 by