Existe-t-il un équivalent .Net de java.util.concurrent.Executor?

Avoir une longue série de tâches discrètes: parsingr des dizaines de milliers de lignes d’un fichier texte, les hydrater en objects, les manipuler et les conserver.

Si je mettais cela en œuvre en Java, je suppose que je pourrais append une nouvelle tâche à un exécuteur pour chaque ligne du fichier ou de la tâche par X lignes (c’est-à-dire des morceaux).

Pour .Net, ce que j’utilise, je n’en suis pas si sûr. Je soupçonne peut-être que le CCR soit approprié ici, mais je ne le connais pas suffisamment, c’est pourquoi je pose cette question.

Le CCR peut-il fonctionner de manière équivalente à Java Executors ou existe-t-il autre chose?

Merci

Vous voudrez peut-être consulter la bibliothèque de tâches parallèle .

À partir de C # 5, il est intégré au langage en utilisant le langage async et await mots-clés.

Si vous demandez à un groupe de personnes .NET quel est l’équivalent le plus équivalent à Java Executors, il ne vous gênera peut-être pas de décrire les caractéristiques distinctives de Java Executors. La personne qui connaît votre réponse n’est peut-être pas plus familiarisée avec Java qu’avec vous .NET.

Cela dit, si la bibliothèque parallèle de tâches déjà mentionnée répond à vos besoins, ou si vous ne souhaitez pas attendre .NET 4.0, ThreadPool.QueueUserWorkItem () est peut-être ce que vous recherchez.

Peut-être que cela est lié: Design: Task Parallel Library explorée . Voir 10-4 Épisode 6: Extensions parallèles pour une introduction rapide.

Pour les anciennes approches basées sur les threads, il existe ThreadPool pour la mise en pool.

La classe BackgroundWorker est probablement ce que vous recherchez. Comme son nom l’indique, il vous permet d’exécuter des tâches en arrière-plan, avec un regroupement géré automatiquement et des événements de mise à jour de statut.

Pour ceux qui recherchent une solution plus contemporaine (comme j’étais), consultez la classe EventLoopScheduler .