[Python] Un vero multithread
Gian Mario Tagliaretti
g.tagliaretti a gmail.com
Mar 22 Ott 2013 21:42:06 CEST
2013/10/22 Giovanni Vittorio Spina <vittorio.spina a gmail.com>
ciao Giovanni,
> Ho implementato un modulo che mette uno stream ffmpeg su una surface di
> pygame e funziona fluidissimo. Sto poi facendo un programma che legge uno
> stream da un sensore laser. Se aggiungo stream video e stream laser,
> nonostante sia tutto su thread separati (modulo thread) i calcoli son
> troppi e lo stream video perde pacchetti con un peggioramento evidente
> della qualità video oppure, limitando al massimo il framerate, è lo stream
> del laser a cedere colpi evidenti. Il motivo credo che sia il fatto che a
> livello di calcolo, il modulo thread non implementa un vero multithread, ma
> riunisce comunque tutti sotto un solo processo che gestisce con un sistema
> semaforico particolarmente intelligente.
>
>
Hai pensato di usare il modulo multiprocessing? [1]
> Per ovviare il problema avevo pensato di fare un'applicazione che legge i
> dati dal laser e un'altra con interfaccia grafica e con lo stream video.
>
> Come condivido i dati? Non vorrei usare un sistema client server, mi
> piacerebbe qualcosa di più elegante che mi permetta la condivisione di un
> dizionario con 7-8000 valori ad una frequenza di almeno 10 letture al
> secondo... Avete idee?
>
naturalmente supporta la comunicazione tra i processi [2]
Una discussione interessante sull'argomento che avevo letto [3]
[1] http://docs.python.org/2/library/multiprocessing.html#
[2]
http://docs.python.org/2/library/multiprocessing.html#exchanging-objects-between-processes
[3]
http://stackoverflow.com/questions/5784389/using-100-of-all-cores-with-python-multiprocessing
ciao
--
Gian Mario Tagliaretti
GNOME Foundation member
gianmt a gnome.org
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20131022/ccecdada/attachment-0001.html>
Maggiori informazioni sulla lista
Python