C# C语言中的任务并行库和PLINQ替代方案#

C# C语言中的任务并行库和PLINQ替代方案#,c#,task-parallel-library,libraries,plinq,parallel-processing,C#,Task Parallel Library,Libraries,Plinq,Parallel Processing,我想知道,在为利用C#中的并行性而设计的馆藏库方面,TPL和PLINQ还有哪些替代方案 编辑:按照措辞,我认为这个问题令人困惑。我正在寻找平行收集图书馆以外的PLINQ。可能在PLINQ和TPL之上实施。我对纯函数库特别感兴趣。并行总是涉及多个线程(或计算机!这是它们没有涉及的:)来运行同一个任务。将一组输入值等分,然后启动多个线程,每个线程处理其中的一个块,这非常容易。额外的好处是能够从调用线程读取结果/异常。这在TPL和PLINQ中都是可能的 TPL和PLINQ的好处是,您不必考虑这些细节,

我想知道,在为利用C#中的并行性而设计的馆藏库方面,TPL和PLINQ还有哪些替代方案


编辑:按照措辞,我认为这个问题令人困惑。我正在寻找平行收集图书馆以外的PLINQ。可能在PLINQ和TPL之上实施。我对纯函数库特别感兴趣。

并行总是涉及多个线程(或计算机!这是它们没有涉及的:)来运行同一个任务。将一组输入值等分,然后启动多个线程,每个线程处理其中的一个块,这非常容易。额外的好处是能够从调用线程读取结果/异常。这在TPL和PLINQ中都是可能的

TPL和PLINQ的好处是,您不必考虑这些细节,就可以使任务并行运行。在程序运行之后,您可以调整这些库如何处理输入和输出,而几乎不需要对代码进行任何更改。例如,您可能不希望为每个线程提供等量的输入值,而是在每次线程完成一个块时为它们提供部分输入值


我真的不知道缺少了什么,除非你不是真正追求真正的并行性。

你觉得TPL不满意的地方是什么?反应性的扩展是否重要?@JaredPar我不是想暗示TPL不满意,但我想知道还有什么其他选择。但既然你问:TPL在某些方面有点太低级了,我不同意PLINQ中的一些设计决策(例如,序列和无序集合的合并)。@DerekBeattie RX库的用途与并行框架截然不同。@cdiggins没错,但有一些重叠,你可以用TPL做的事情,你可以用Rx完成,除非我把新的异步内容和普通TPL混淆了。谢谢你的回答,但这不是我想要的。我正在寻找一个替代PLINQ和TPL的库,用于对集合执行并发操作。很抱歉,我不够清晰。一方面,你想要一个替代方案,但没有解释你不喜欢第三方物流/第三方物流的地方,另一方面,你想要在第三方物流/第三方物流(不能算作“替代方案”)之上实现的东西。你能举例说明你在找什么吗?