[python] vlakna,cpu

Jirka Vejrazka jirka.vejrazka na gmail.com
Pátek Listopad 19 18:49:51 CET 2010


No, on multiprocessing pouziva zamky i interne pri pristupu k datovym
strukturam, takze jestli se nepletu tak v tomhle pripade nepotrebujes
explicitni zamky (ale viz dokumentace, uz je to dlouho co jsem ho
pouzival).

Opravdu by v tomhle pripade nebyly lepsi fronty? Nevim, jak dlouho
trva spocitani "dalsiho bodu", ale pokud to neni casove narocna
operace, tak bych si dokazal predstavit ze cekani na global_index bude
zasadne ovlivnovat jednotlive procesy.

Neni tohle spis uloha pro "pool of workers"? Viz priklad z dokumentace
multiprocessingu:
http://docs.python.org/library/multiprocessing.html#using-a-pool-of-workers

Dalsi tipy:
  - pouziti memcached pro global_index[0]. Vypada to, ze to je prosty
citac a tady by memcached bylo mozna uplne nejlepsi reseni (jednoducha
instalace pokud pracujes na Linuxu)
  - reseni "klient-server", kdy jeden "ridici" proces ma datove
struktury a ostatnim zadava ulohy do fronty a hotove vysledky se
vraceji v jine fronte. Pak bys nemusel resit synchronizaci pristupu k
datovym strukturam.

  To jsou jen takove tipy, vic asi neporadim.

    Jirka


Další informace o konferenci Python