Archive

Articles taggués ‘Task’

.Net Task class

Cette classe, comme son nom l’indique, permet au développeur d’exécuter un travail synchrone ou asynchrone dans un thread séparé. Elle offre pas mal d’avantages par rapport aux autres classes bien connues comme le BackgroundWorker comme la possibilité d’annuler une tâche, la possibilité de créer des sous-tâches sous forme arborescente, la possibilité de choisir l’enchaînement des tâches, de lancer des tâches en parallel etc. En échange ce que vous retrouverez dans BackgroundWorker et vous ne retrouverez pas dans Task est la possibilité de rapporter le progrès de l’exécution. Heureusement c’est une fonctionnalité qui est assez facilement réalisable en utilisant encore une classe Task. Cliquez ici pour voir une belle implémentation de comment faire cela. Sur ce blog vous pouvez également comparer deux implémentations équivalentes en utilisant Task et BackgroundWorker.

Task se trouve dans le namespace System.Threading.Tasks. Cette classe et les types associés font partie d’un ensemble de types publics appelé TPL (Task Parallel Library). TPL représente un nouveau modèle de programmation introduit par Microsoft dans .Net Framework 4.

Pour plus d’informations je vous invite à aller visiter MSDN sur la page dediée à TPL (Task Parallel Library).

Je ne vais pas insister avec beaucoup d’exemples de code, mais voici un court exemple issue de MSDN qui montre comment instancier et utiliser une seule instance de la classe Task:

Lire la suite…