Concurrency and Coordination Runtime
Concurrency and Coordination Runtime (CCR)とは、マイクロソフトがレゴ・マインドストームなどのロボット制御プログラミング向けに配布しているMicrosoft Robotics Developer Studio (MRDS)の一部で、.NET Frameworkをベースとした非同期プログラミングライブラリである。MRDSの一部として配布されているが、ロボット制御に特化されているわけではなく、一般的なアプリケーション用の非同期プログラミングライブラリとしても利用できる。CCRはErlangの影響が極めて強く受けており、用語こそ違えど基本的な考え方はほぼ同一である。

CCRのランタイムには、同時実行できるスレッド数が固定されたスレッドプールを実装するDispatcherクラスが含まれている。また、各DispatcherにはDispatcherQueueというプロシージャのエントリポイントを示すデリゲートのキューを持っており（CCRで分散処理したい作業項目の一覧を持っており）、作業項目は実行スレッドに分散され非同期実行される。またDispatcherオブジェクトには作業項目を非同期実行した結果を入れる汎用ポートと呼ばれるキューも存在している。各作業項目は、処理結果を消費するReceiverTaskオブジェクトに関連付けることができる。Arbiter ReceiverTaskを管理し、彼らを期待して準備ができてとする場合、それらを呼び出すPortのキュー。
Q2283
マイクロソフト
ORG
Q1063455
レゴ
ORG
Q10853917
マインドストーム
MISC
Q5289
.NET Framework
MISC
Q334879
Erlang
MEDIA
Q4036484
Concurrency and Coordination Runtime
ORG
developer