Sommaire

Comprendre le multithreading

Un programme peut effectuer des traitements longs qui vont "bloquer" l’application durant leur exécution. Pour éviter cela, le développeur peut créer une sorte de chemin d’exécution parallèle qui va prendre en charge ce traitement et ainsi délester l’exécuteur principal. Dans ce cas, le système d’exploitation Windows de Microsoft partage très rapidement le temps machine entre les différents flux d’exécution (typiquement, 20 ms par tranche de temps), donnant l’illusion d’une exécution simultanée. On parle de système d’exploitation à temps partagé. Le contenu d’une file d’exécution peut enchaîner tous les traitements qu’elle souhaite sans se soucier du temps que cela prendra globalement. Le système d’exploitation viendra l’interrompre périodiquement pour donner du temps à la file d’exécution suivante et ainsi de suite jusqu’à revenir sur elle pour qu’elle reprenne son traitement là où il avait été interrompu.

Reprenons pour exemple cette carte d’acquisition d’entrées/sorties équipée d’une interface de programmation très sommaire. Le constructeur nous livre un jeu de fonctions permettant, entre autres, de lire l’état binaire des entrées numérotées. Vous souhaitez développer ...