Concurrency and Coordination Runtime

Short description: Asynchronous programming library

Concurrency and Coordination Runtime (CCR) is an asynchronous programming library based on .NET Framework from Microsoft distributed with Microsoft Robotics Developer Studio (MRDS). Even though it comes with MRDS, it is not limited to modelling robotic behavior but can be used to express asynchronous behavior in any application.

CCR runtime includes a `Dispatcher` class that implements a Thread pool, with a fixed number of threads, all of which can execute simultaneously. Each dispatcher includes a queue (called `DispatcherQueue`) of delegates, which represent the entry point to a procedure (called work item) that can be executed asynchronously. The work items are then distributed across the threads for execution. A dispatcher object also contains a generic `Port` which is a queue where the result of the asynchronous execution of a work item is put. Each work item can be associated with a `ReceiverTask` object which consumes the result for further processing. An `Arbiter` manages the `ReceiverTask` and invokes them when the result they are expecting is ready and put on the `Port` queue.

In May 2010, the CCR was made available along with the entire Robotics Developer Studio in one package, for free. Microsoft Robotics Developer Studio 2008 R3.[1]

CCR was last updated in RDS R4 in 2012. It is no longer under development. Asynchronous programming is now supported in Visual Studio languages such as C# through built-in language features.

## See also

* Parallel Extensions
* Joins
* Microsoft Robotics Developer Studio

## References

1. ↑ MSRDS 2008 R3 Release Notes (MSDN Library)

## External links

* CCR: MSDN Magazine
* CCR: Channel9 Interview
* CCR and DSS Toolkit 2008 homepage
* Concurrency and Coordination Runtime MSDN Documentation

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Concurrency and Coordination Runtime. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Concurrency_and_Coordination_Runtime&oldid=299697"