并行扩展的单声道问题

时间:2009-12-03 19:14:45

标签: c# mono monodevelop

我有一个使用

的visual studio 2008 c#编写的程序
            System.Threading.Tasks.Paralell.For(...

现在我想在linux环境下使用mono运行它,是否可能?如果是这样的话?

目前我有Mono Jit编译器版本2.4.2.3,它无法运行上述程序......

3 个答案:

答案 0 :(得分:1)

Mono 2.4.2.3不支持并行LINQ。如果你不害怕compiling mono from sources,我建议你这样做。

答案 1 :(得分:1)

您可能知道线程管理与底层操作系统非常相关并且关闭。 Mono团队还没有完成TPL for Linux的实现,我怀疑他们能够很快实现它,因为他们必须将它实现到他们支持的每个操作系统。

事实上,你得到了Jeremie Laval在Google Summer of Code 2008期间所做的实现的开始:http://code.google.com/p/mono-soc-2008/source/browse/#svn/trunk/parallelfx

您可以在此处获得有关此实施的更多信息:http://blog.netmedia.info/2008/07/29/c-30-and-parallel-fxlinq-in-mono/

答案 2 :(得分:1)

您可以尝试使用PFX implmentation by Jeremie Laval for Mono,但我发现它与Microsoft实现略有不同,因此可能需要一些移植才能使事情正常工作。

话虽如此,另一种可能的可能性(未经测试)将是使用新的Reactive Framework for .NET 3.5sp1,并查看它是否适用于Mono。它包含PFX库的后端,在其当前的API中。它可以在Mono上正常工作(但是,正如我所说,它没有经过测试或支持)。