|Richard Beton's libcsp...|
Communicating Sequential Processes is a mathematical algebra for analysing the behaviour of concurrent systems. Because most software systems interact with the real world, they are concurrent to a greater or lesser extent.
libcsp is a library that provides for C programmers a level of
abstraction that makes programming with threads much easier. By
providing an easy mechanism to express and reason about programs
with multiple threads, it becomes easier to fit software into the
In essence, libcsp is a C library that provides the benefits
previously known to
occamand unlike CSP itself, senders cannot alternate between output sources (this would cause serious implementation problems and is provably not necessary).
So the two most important points are that the concept enables mathematical proofs of correct thread behaviour, and alternation makes for simple system design.