Outils pour utilisateurs

Outils du site


thread_ordre

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Dernière révision Les deux révisions suivantes
thread_ordre [2008/05/06 09:11]
tyrtamos
thread_ordre [2008/05/06 09:14]
tyrtamos
Ligne 13: Ligne 13:
 Le principe est simple: Le principe est simple:
  
-  * on créé une variable globale "​statut"​ initialisé à 1, et chaque thread pourra la lire et la modifier+  * on créé une variable globale "​statut"​ initialisé à 0, et chaque thread pourra la lire et la modifier
  
   * on créé le verrou "​vstatut"​ (threading.Lock()) qui ne permettra l'​accès à la variable "​statut"​ par les threads qu'un à la fois.   * on créé le verrou "​vstatut"​ (threading.Lock()) qui ne permettra l'​accès à la variable "​statut"​ par les threads qu'un à la fois.
Ligne 81: Ligne 81:
  
 # création de la variable globale partagée statut et de son verrou # création de la variable globale partagée statut et de son verrou
-statut = 1+statut = 0
 vstatut = threading.Lock() vstatut = threading.Lock()
  
Ligne 124: Ligne 124:
 <​code>​ <​code>​
 debut debut
 +action faite par A0
 action faite par A1 action faite par A1
 action faite par A2 action faite par A2
Ligne 165: Ligne 166:
 ===== Solution avec une condition (threading.Condition()) ===== ===== Solution avec une condition (threading.Condition()) =====
  
-C'est la même chose qu'un verrou, à part qu'on peut espérer que l'​attente de la condition consomme moins de ressources machine que la boucle d'​attente du statut.+C'est la même chose qu'un verrou, et cela affiche la même chose, à part qu'on peut espérer que l'​attente de la condition ​(.wait()) ​consomme moins de ressources machine que la boucle ​while d'​attente du bon statut.
  
 <code python> <code python>
Ligne 216: Ligne 217:
  
 # création de la variable globale partagée statut et de son verrou # création de la variable globale partagée statut et de son verrou
-statut = 1+statut = 0
 cstatut = threading.Condition() cstatut = threading.Condition()
  
thread_ordre.txt · Dernière modification: 2008/05/08 20:25 par tyrtamos