Articles récents
Python : Programmation multi-thread
Avec le chapitre sur la programmation réseau en Python, j'avais introduis les processus légers (thread). Nous allons approfondir ce sujet car il présente un intérêt évident.
La programmation multi-thread est intéressante pour plusieurs raisons. Elle permet tout d'abord de paralléliser des actions et donc d'accélérer des traitements.
L'autre intérêt de ce type de programmation est dans la capacité offerte au programme principale de transmettre un traitement dangereux (accés à un fichier, accès au réseau, ...) à un autre processus. Ainsi, si le traitement plante, il ne fera pas planter le programme principale, et nous pourrons traiter l'incident. D'ailleurs, cette idée de transmettre un traitement dit dangereux à un autre processus est une des base de la programmation d'une application Android.
1)Le module thread
Pas grand chose à dire sur la librairie thread, l'exemple suivant est suffisant:
2)Le module threading
2.1)Comment procéder?
La procédure est toujours la même:2.2)Exemple d'utilisation
Ce qui affichera:

2.3)Les méthodes de la classe threading
Voici la liste des principales méthodes proposées par la classe threading:3)Synchronisation et priorisation
3.1)La synchronisation par les sémaphores
Python propose un équivalent aux sémaphores de la programmation C.Ce qui affichera:

Autre méthode, python définit une classe sémaphore:
3.2)Priorisation avec les queues
Le module Queue permet de gérer les priorité entre plusieurs threads. Il propose plusieurs méthodes:Ce qui affichera:
