Projects / Boost.Join


Boost.Join is an asynchronous, message based C++ concurrency library based on join calculus. It is applicable both to multi-threaded applications and to the orchestration of asynchronous, event-based applications. It follows Comega's design and implementation and builds with Boost facilities. It provides a high level concurrency API with asynchronous methods, synchronous methods, and chords which are "join-patterns" defining the synchronization, asynchrony, and concurrency.

Operating Systems

Recent releases

  •  13 Apr 2009 07:07

    Release Notes: The function level API was dropped to simplify the interface and implementation. The signature of a chord's function can be directly mapped from the types of its ports. boost::lambda or phoenix is used to define a chord's function. The "pimpl" idiom was applied to port and joint classes.

    •  15 Jul 2008 09:27

      Release Notes: This release added schedulers as the template policy arguments of the actor class, added timed synchronous calls, added documentation and samples for the port API 4, and expanded documentation about Join internals.

      •  01 Apr 2008 08:46

        Release Notes: The code was updated to support dynamic flow-based programming in Join.

        •  19 Jul 2007 14:01

          Release Notes: Major design changes were made for simplicity and efficiency. The library and executables are now smaller and faster. The design was kept more consistent with Cw (by removing guards which are error-prone and multi synch methods). Many changes were made to reduce copying and buffering. The documentation was updated with design changes and the addition more information about implementation and integration with other libraries.

          •  11 Jun 2007 05:05

            Release Notes: The Framework is complete with the addition of chord_override and chord_remove. The documentation was cleaned up. Two more tutorials were added to explore the usage of Join. The first shows how to implement thread safe event dispatching. The second shows how to implement data parallel algorithms (parallel loop and map-reduce) in a way similar to Intel's threading building block library, which is helpful to take full advantage of multi-core machines.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.