Tutorial d'initiation A la programmation avec l'API Windows
Tutorial d'initiation a la programmation Windows avec Microsoft Visual C++
Chapitre 5Le multithreading2. Notion de processus et de thread
Cours théorique :
Il ne faut pas confondre les processus et les threads. Un processus est une application. Tout processus dispose d'au moins un thread. Il peut cependant en posséder plusieurs. Pour l'utilisateur moyen, les threads sont invisibles. Ils sont masqués par les processus. La différence entre un processus et un thread est qu'un processus ne constitue en rien une unité d'exécution. L'exécution simultanée de plusieurs processus est réalisée grâce au multithreading. Le processus représente simplement un application vis à vis du système. Lorsque l'utilisateur demande la terminaison d'une application, tous les threads appartenant à cette application devront être terminés.
Tout processus doit comporter au moins un thread, de manière à exécuter le point d'entrée du programme. Ce thread ne pourra jamais être terminé sans que l'application ne soit elle même terminée. Le processus ne doit en aucun cas être assimilé à ce thread. Le thread constitue simplement l'unité d'exécution de base du processus. Le système ne communiquera jamais avec le processus mais toujours avec l'un des threads de ce processus. En effet, le processus n'étant pas une unité d'exécution il ne réalise aucune tâche. Le premier thread est créé par le système. C'est pour cette raison que dans un programme comportant un seul thread, aucune référence n'est faite aux fonctions de l'API relatives aux threads. La création de nouveaux threads devra être explicite. C'est ce qui sera étudié tout au long de ce chapitre.
|