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
Prochaine révision
Révision précédente
thread_ordre [2008/05/06 09:11]
tyrtamos
thread_ordre [2008/05/08 20:25]
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()
  
Ligne 254: Ligne 255:
 print "​fini"​ print "​fini"​
 </​code>​ </​code>​
 +
 +<​html>​
 +<​head>​
 +<style type="​text/​css">​
 +<!--
 +body {background-image:​url(fondcorps.jpg);​}
 +-->
 +</​style>​
 +</​head>​
 +<​body>​
 +</​body>​
 +</​html>​
 +
thread_ordre.txt · Dernière modification: 2008/05/08 20:25 par tyrtamos