我想知道TPL和PLINQ在为C#开发并行性而设计的集合库方面有什么替代方案。
编辑:正如我所说,我认为这个问题令人困惑。我正在寻找PLINQ以外的并行集合库。可能在PLINQ和TPL之上实现。我对纯函数库特别感兴趣。答案 0 :(得分:1)
并行性总是涉及多个线程(或计算机!这就是它们未涵盖的内容:))来运行相同的任务。平均分配一组输入值并启动一些线程来处理这些块中的一个很容易。奖金将能够从调用线程中读取结果/异常。这在TPL和PLINQ都是可能的。
TPL和PLINQ的好处是您不必考虑这些细节来使您的任务并行运行。在使程序运行之后,您可以调整这些库如何处理输入和输出,几乎不需要对代码进行任何更改。例如,您可能不希望为每个线程提供相同数量的输入值,但每次完成一个块时都会为它们提供部分。
我真的不知道缺少什么,除非你真的没有真正的并行性。