Introduction

La programmation multithread implique la répartition des tâches (thread) d’une même application de manière à ce qu’elles soient réalisées indépendamment les unes des autres afin d’exploiter au mieux le temps du processeur. Les tâches ne se réalisent pas réellement en parallèle. Le processeur affecte un temps de traitement à chaque tâche en fonction de son importance et fait lui-même le basculement de l’une à l’autre. Ce basculement de contexte implique que le processeur mémorise la pile de la tâche en cours avant de restaurer celle de la tâche à laquelle il redonne la main. C# 5 a introduit de nouveaux mots-clés (await et async) afin de faciliter le développement asynchrone. Le développement synchrone implique qu’une fonction appelée bloque l’exécution du programme jusqu’à ce qu’elle soit terminée. Lorsqu’une fonction est appelée de manière asynchrone, l’exécution du programme principal continue. Il y a donc une notion d’exécution en parallèle et de concurrence comme pour la programmation multithread.

Les exemples de ce chapitre sont disponibles dans les sources sous le projet MultiThreading de la solution.

Pour consulter la suite, découvrez le livre suivant :
couv_EI9C19VIS.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Les quantifieurs
Suivant
La classe Thread