Concurrency and Coordination Runtime
表示
この項目「Concurrency and Coordination Runtime」は途中まで翻訳されたものです。(原文:英語版 "Concurrency_and_Coordination_Runtime" 2019-09-06T13:18:57) 翻訳作業に協力して下さる方を求めています。ノートページや履歴、翻訳のガイドラインも参照してください。要約欄への翻訳情報の記入をお忘れなく。(2020年3月) |
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のキュー。
関連項目
[編集]脚注
[編集]