python:async

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
python:async [2018/12/05 11:40] – créée: threads, locks phswpython:async [2021/04/04 17:01] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== Programmation asynchrone ======+====== Programmation asynchrone en Python ======
  
-===== Threads =====+------- 
 +==== Threads ====
  
-==== Lancement de threads ====+=== Lancement de threads ===
  
 <code python> <code python>
Ligne 31: Ligne 32:
  
  
-==== Verrous ====+=== Verrous ===
  
 <code python> <code python>
Ligne 42: Ligne 43:
         with verrou:         with verrou:
             # section critique             # section critique
-</code>    +</code>  
 + 
 + 
 + 
 +------ 
 + 
 +==== Paralléliser un map ==== 
 + 
 +  * [[https://stackoverflow.com/questions/9786102/how-do-i-parallelize-a-simple-python-loop]] 
 +  * [[https://docs.python.org/3/library/multiprocessing.html#multiprocessing.pool.Pool]] 
 +  * [[https://stackoverflow.com/questions/5442910/python-multiprocessing-pool-map-for-multiple-arguments]] 
 + 
 +<code python> 
 +import multiprocessing 
 +from functools import partial 
 + 
 + 
 +def loop_function(j, param): 
 +    # ... 
 + 
 +with multiprocessing.Pool(5) as p: 
 +        raw_hist = p.map(partial(loop_function, param=param), range(n)) 
 +</code> 
 + 
 +La fonction ''loop_function'' va s'exécuter sur chaque élément de la liste constituée par l'itérable ''range(n)'', représentés par le paramètre ''j''. L'utilisation de ''partial'' permet juste de spécifier des paramètres. La fonction ''loop_function'' doit être en top module. 
  • python/async.1544006419.txt.gz
  • Dernière modification : 2021/04/04 17:01
  • (modification externe)