2009-01-26 5 views
2

J'ai essayé de comprendre le CCR (Concurrency And Coordination Runtime) pour voir s'il vaut la peine d'apprendre.CCR, Yield et VB.net

Je programme principalement dans Vb.net et dans la plupart des exemples d'utilisation du CCR, j'utilise le mot-clé Yield.

Quelle est l'importance du rendement pour l'utilisation du RCC? Y a-t-il des solutions de contournement? Est-ce que VB.net obtiendra la commande Yield? (Si non pourquoi pas?)

Répondre

1

Oui, les blocs d'itération (tels que signifiés par les instructions de rendement) sont assez cruciaux pour le CCR d'après ce que je comprends. Ils sont ce qui rend les flux de travail asynchrones lisibles possibles.

Avez-vous déjà regardé les extensions parallèles? Sinon, je voudrais essayer cela avant le CCR - en dehors de toute autre chose, il est plus probable d'être VB.NET amical et il sera dans le "principal". NET 4.0 quand il sort.

+0

Je pense que le CCR offre une approche totalement différente de la concurrence. Ce qui m'a le plus impressionné, c'est l'évolutivité de l'approche. Peut-être le temps d'en savoir plus C# –

+0

Je ne suis pas particulièrement intéressé par l'exécution d'opérations simultanées. mais profitez du code asynchrone à l'aspect séquentiel. –

+0

Article sur ce sujet de l'équipe Parallel Extensions: http://blogs.msdn.com/pfxteam/archive/2009/06/30/9809774.aspx –

1

Le mot-clé yield n'est pas essentiel, mais cela facilite énormément les choses lorsque vous utilisez le CCR. Il est nécessaire de générer des tâches dans une méthode de gestionnaire, ce qui peut être fait simplement en utilisant des primitives, mais pas aussi élégamment. Je n'ai jamais vu de code CCR écrit en VB.NET, mais je suppose qu'il existe des solutions de contournement pour renvoyer un objet IEnumerable (bien que je ne puisse pas le confirmer car cela fait longtemps que je n'ai pas écrit de VB.NET) . La dernière fois que j'ai entendu, il y avait une possibilité juste que VB.NET 10 obtiendrait un équivalent du mot-clé yield.

Questions connexes