On Mon, Aug 04, 2014 at 04:19:02PM +0200, Perini Matteo wrote: > Il 04/08/2014 15:08, Marco Giusti ha scritto: > >thread o pattern asincrona. Normalmente ti consiglierei di utilizzare un > >pattern asincrono ma vista la semplicità del programma, mi sento di > >consigliarti i thread. > Ok. > Vediamo se ho capito bene... > In un thread metto la classe della gui e in un altro la lettura > della seriale e poi passo i dati da un thread all'altro?
In grossi termini è esatto. > Il passaggio dei dati da un thread all'altro genera degli eventi che > posso usare per richiamare delle funzioni? No, nessun evento è generato e devi fare attenzione alla sincronizzazione dei thread. La cosa che ti consiglio è di usare idle_add che è thread safe. Non ricordo più l'esatta sequenza delle istruzioni ma con pygtk prima era necessario inizializzare i thread, poi no. Con gtk3 le cose sono ancora differenti, quindi ti rimando al manulare per la corretta gestione. Il thread che gestisce la gui non presenta particolari difficoltà. Quello che gestisce la seriale è più o meno così: ... while running: line = serial.readline() GLib.idle_add(do_something_with_the_line, line) ... Questo fa' sì che non appena il main loop non ha più niente da fare, chiama la funzione "do_something_with_the_line". ciao m. _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python