Question

Avoir une longue série de tâches en cours d'exécution distinctes: l'analyse syntaxique 10s de milliers de lignes à partir d'un fichier texte, hydratantes en objets, la manipulation et la persistance.

Si j'exécutaient cela en Java, je suppose que je pourrais ajouter une nouvelle tâche à un exécuteur testamentaire pour chaque ligne dans le fichier ou d'une tâche par des lignes X (à savoir chunks).

Pour .Net, qui est ce que je me sers, je ne suis pas si sûr. Je soupçonne peut-être CCR pourrait être approprié ici, mais je ne suis pas assez familier avec elle, ce qui est la raison pour laquelle je pose cette question.

CCR peut fonctionner de manière équivalente à Java Exécuteurs, ou est-il quelque chose d'autre disponible?

Merci

Était-ce utile?

La solution

Vous pouvez regarder le Tâche bibliothèque parallèle.

5 C # Ceci est construit dans la langue en utilisant les mots-clés async et await.

Autres conseils

Si vous allez demander à un groupe de personnes .NET ce qui est le plus proche d'être équivalent à Java Excecutors, il pourrait ne pas faire du mal à décrire les traits distinctifs de Java Huissiers. La personne qui connaît votre réponse ne peut être plus familier avec Java que vous êtes avec .NET.

Cela dit, si la bibliothèque parallèle de tâches déjà mentionné est surpuissant pour vos besoins, ou vous ne voulez pas attendre .NET 4.0, peut-être ThreadPool.QueueUserWorkItem () serait ce que vous cherchez.

Peut-être que cela est lié: conception: Bibliothèque parallèle de tâches exploré . Voir Episode 6 10-4: extensions parallèles comme une intro rapide.

Pour l'approche à base de fil plus, il y a ThreadPool pour la mise en commun.

La classe BackgroundWorker est probablement ce que vous cherchez. Comme son nom l'indique, il vous permet d'exécuter des tâches d'arrière-plan, avec gestion automatique mise en commun, et les événements de mise à jour d'état.

Pour ceux qui cherchent une solution plus contemporaine (comme moi), consultez la page la classe de EventLoopScheduler.

scroll top