Sommaire

Introduction Multithreading

Le cœur du présent chapitre aborde la notion de multithreading : schématiquement, on peut considérer que chaque application s’exécutant sur un ordinateur a son propre processus. Le mutlithreading consiste à faire cohabiter plusieurs threads relatifs à cette application, chacun en charge de différentes tâches.

Le multithreading permet également de faire des appels asynchrones au sein de l’application. En effet, il arrive que l’application ait besoin de ressources qui prennent du temps à être rapatriées, par exemple lorsqu’on accède à une source de données dont la réponse n’est pas immédiate. C’est typiquement la situation dans laquelle il est intéressant de faire un appel asynchrone à la ressource au sein d’un thread dédié. Ceci permet de ne pas altérer le reste du fonctionnement de l’application.

Une communication synchrone est une communication qui a besoin de voir l’émetteur et le récepteur impliqués durant toute la durée de la communication. Par exemple, un appel téléphonique est une communication synchrone. En informatique, une telle communication, par exemple une requête synchrone d’obtention d’une ressource, va tout mettre en suspens dans l’application et provoquer un effet « freeze » qu’il faut chercher à éviter. ...