我创建了一个新线程,它发现设备并不断更新变量(只要有变化)和设备名称,我的主线程将在UI中显示这些设备。
但是我如何通知主线程变量被更改,你应该更新UI。
主线程正在做一些事情,所以我无法阻止它。
答案 0 :(得分:0)
从Python的线程模块使用条件监视器来阻止UI线程,而其他线程发现设备并通知UI线程。
condition = threading.Condition()
global update
# Update
condition.acquire()
while not update:
condition.wait()
update = False
<Update UI>
update.release()
# Discover
condition.acquire()
update = True
<Add discovered device>
condition.notify()
condition.release()