MicrosoftのCCR vsタスク並列館
-
09-09-2019 - |
質問
Microsoftは、少なくとも二つの異なるapprochesの改善支援のための並行事業です。
1)の並行処理調整実行時(CCR)はMicrosoftロボティクススタジオ CCR&DSSツールキット
2)タスク並列ライブラリ(TPL(担当。NET4.0在ベーターは1リリース)
知りたいと思いれば誰でも経験これらの異なる二枚のソフトウェアとの対比ですか。
解決
は、両方の枠組みを補完が異なる目標の要です。
のCCRには、プリミティブの調整を行うの並行プロセス。調整は、接着剤などのバンチのプロセス全体としてのCCRには、プリミティブのためのメッセージ交換のようです。プロセスできるのを待ちへのメッセージに到着したチャンネル、多チャンネル、又はその他のチャネル数です。これは、特定のパラダイムの調整並行プロセスと作業性に優れています。注も受け付けたいと思います。は無料-ご購入が株式会社エンパシは、Microsoft社からwindowsます。
のTPLには、プリミティブのインフラ parallellize 計算アルゴリズムを半自動で行なう.の最新情報をメールにてプリミティブがある並列プ-だろうなどのforループのもうとする実行ループンを行なった。
る場合でも、束のプロセスのいい調整により高いレベルを共有状態とロックを使用CCR.また計算機集約的なプロセスのない効率的な運転のために、マルチコア機をご利用TPL.
他のヒント
これはシナリオ。のCCRは、図書館を支援するプログラムパターンでき己CCR、TPLのようにしますが、こちらです。内の委譲を受け:
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Ccr.Core;
namespace Demo
{
public class Program
{
public static void Main(string[] args)
{
Dispatcher dispatcher = new Dispatcher();
DispatcherQueue taskQueue = new DispatcherQueue("Demo", dispatcher);
Port<int> portInt = new Port<int>();
portInt.Post(Int32.Parse(args[0]));
Arbiter.Activate(
taskQueue,
portInt.Receive(delegate(int count)
{
Parallel.For(0, count, i =>
{
Console.Write(i.ToString() + " ");
});
}
));
}
}
}
所属していません StackOverflow