Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
thread_ordre [2008/05/06 08:03] tyrtamos créée |
thread_ordre [2008/05/06 08:23] tyrtamos |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
===== Problématique ===== | ===== Problématique ===== | ||
+ | A priori, quand on lance des threads, on s' | ||
+ | |||
+ | Dans certains cas, nous voulons au contraire qu'ils agissent dans un ordre bien déterminé. | ||
+ | |||
+ | Voilà un exemple de solution possible. | ||
===== Solution avec un verrou (threading.Lock()) ===== | ===== Solution avec un verrou (threading.Lock()) ===== | ||
+ | Le principe est simple: | ||
+ | |||
+ | * on créé une variable globale " | ||
+ | |||
+ | * on créé le verrou " | ||
+ | |||
+ | * chaque thread attend, en lisant " | ||
+ | |||
+ | Pour l' | ||
+ | |||
+ | * j'ai créé 10 threads, et leur action consiste simplement à imprimer leur nom de thread sur la console. | ||
+ | |||
+ | * pour que chacun imprime à son tour, j'ai ajouté un verrou vprint | ||
+ | |||
+ | * les threads ne s' | ||
+ | |||
+ | On voit bien dans l' | ||
+ | \\ | ||
<code python> | <code python> | ||
# | # |