1

我有一个用 Visual Studio 2008 c# 编写的程序,它使用

            System.Threading.Tasks.Paralell.For(...

现在我想使用单声道在linux环境中运行它,可以吗?如果是这样怎么办?

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

4

3 回答 3

1

Mono 2.4.2.3 不支持并行 LINQ。如果您不害怕从源代码编译单声道,我建议您这样做。

于 2009-12-03T19:18:49.960 回答
1

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

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

于 2009-12-03T19:41:07.933 回答
1

正如您可能知道的那样,线程管理与底层操作系统密切相关且封闭。Mono 团队尚未完成针对 Linux 的 TPL 的实现,我怀疑他们是否能够尽快实现它,因为他们必须将它实现到他们支持的每个操作系统上。

事实上,你得到了 Jeremie Laval 在 2008 年 Google Summer of Code 期间实现的开始: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/

于 2009-12-03T19:26:32.910 回答