我有一个for循环我希望与PLINQ的Parallel.ForEach()并行化。
这里的关键是我正在调用的C ++库绝对不是线程安全的,因此,任何并行化的计划都需要跨多个进程这样做。
我正在考虑使用WCF创建一个“分发服务器”流程,“客户端”和多个“计算器”可以连接并向/从队列中添加/删除项目,然后“计算器”直接发送结果回到客户端,可以在收到gui时更新gui。这种架构允许我在网上带上尽可能多的“计算器”,因为我看到它甚至可以将它们放在多台计算机上,从而创建了一个可供所有客户共享的潜在处理能力的农场。
我只是想知道是否有人有这方面的经验,如果有现有的应用程序块或框架可以用来为我构建这个。 PLINQ在此过程中完成。有像DPLINQ(分布式)还是什么?
如果不存在,有人想对我提出的架构发表意见吗?有任何明显的陷阱吗?有谁认为它会起作用!?!?!?