How to use two threads (GUI and backend)

pozz pozzugno at gmail.com
Wed Oct 26 06:22:53 EDT 2016


Il 26/10/2016 09:13, pozz ha scritto:
 > [...]
> When the user press Start button (the pressed handler is in the GUI class):
>> self.comm_active = True
> threading.Thread(target=self.comm_thread).start()
>> The backend thread is:
>> def comm_thread(self):
> while self.comm_active:
> self.device.get_status()
> GLib.idle_add(self.polling_received)
> time.sleep(1)
> self.m.close()
 > [...]
Now I have some concerns even in using self.comm_active. It is a 
boolean variable accessed by the GUI thread (inside Start/Stop buttons 
handler) and backend thread (in the "while self.comm_active" instruction).
Is it safe to access this variable from two different threads? Should I 
implement a safer and more complex mechanism? If yes, what mechanism?


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /