[Python] Un vero multithread

Giovanni Vittorio Spina vittorio.spina a gmail.com
Mar 22 Ott 2013 21:00:39 CEST


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.

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?

Grazie


Maggiori informazioni sulla lista Python