2009-12-03 10 views
1

j'ai un programme écrit en Visual Studio 2008 C# qui utiliseproblèmes mono avec des extensions parallèles

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

maintenant je veux le faire fonctionner dans un environnement Linux en utilisant mono, est-il possible? si c'est le cas, comment?

actuellement i ont Mono Jit version du compilateur 2.4.2.3, il ne peut pas exécuter le programme ci-dessus ...

Répondre

1

Comme vous le savez, la gestion des threads est très liée et fermée au système d'exploitation sous-jacent. L'équipe de Mono n'a pas encore terminé l'implémentation du TPL pour Linux et j'ai des doutes sur le fait qu'ils seront bientôt en mesure de l'implémenter sur tous les systèmes d'exploitation qu'ils supportent.

En fait, vous obtenez beggining d'une mise en œuvre en cours de l'été Google du Code 2008 par Jeremie Laval: http://code.google.com/p/mono-soc-2008/source/browse/#svn/trunk/parallelfx

Vous pouvez obtenir plus d'informations sur cette mise en œuvre ici: http://blog.netmedia.info/2008/07/29/c-30-and-parallel-fxlinq-in-mono/

1

Vous pouvez essayer le PFX implmentation by Jeremie Laval pour Mono, mais j'ai trouvé qu'il est subtilement différent de l'implémentation de Microsoft, donc il peut y avoir un certain portage nécessaire pour que les choses fonctionnent correctement. Cela étant dit, une autre possibilité potentielle (non testée) serait d'utiliser le nouveau Reactive Framework for .NET 3.5sp1, et de voir si cela fonctionne sur Mono. Il inclut un backport des bibliothèques PFX, dans leur API actuelle. Il peut fonctionner correctement sur Mono (mais, comme je l'ai dit, il n'est pas testé ou supporté ici).