La programmation asynchrone

1. Les « Task »

Avec .NET 4.0, Microsoft introduit la TPL (Task Parallel Library) pour unifier et simplifier la programmation d’opérations asynchrones en proposant une abstraction des mécanismes décrits précédemment. L’acteur principal de la TPL est la classe Task qui reçoit en paramètre un delegate de type Action.

public delegate void Action(); 

Une fois l’objet instancié, sa méthode Start permet de créer un thread et d’exécuter le code référencé.

Task t1 = new Task(TravailLong1);  
t1.Start();   
//...  
   
void TravailLong1()  
{  
    Console.WriteLine("Début TravailLong1");  
    Thread.Sleep(1000);  
    Console.WriteLine("Fin TravailLong1");  
} 

Une syntaxe plus condensée existe avec l’appel à Factory :

Task t2 = Task.Factory.StartNew(TravailLong2);  
//...  
   
void TravailLong2()  
{  
    Console.WriteLine("Début TravailLong2");  
    Thread.Sleep(2000);  
    Console.WriteLine("Fin TravailLong2");  
} 

Il existe aussi une syntaxe à base d’expression lambda :

int tempoInSec = 10;  
Task t3 = Task.Run(() =>  ...
couv_RI4CAPOO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Communication entre threads
Suivant
Introduction