Python 派送信号出现故障

Python 派送信号出现故障,python,multithreading,kivy,publish-subscribe,Python,Multithreading,Kivy,Publish Subscribe,我有一种情况,我使用pydispatch在程序的不同部分之间进行通信 一个类有一个属性设置器,每当属性值发生变化时,它都会发出一个信号。 代码的另一部分处理UI中显示该属性值的部分 下面显示了一些日志。您可以看到“sensor_status”(传感器状态)设置器使用不同的值调用(“Idle”,然后是“Meas Fluid”)。这是事件发生的适当顺序 2020-09-29 11:58:27,841 - [METHOD_THREAD] SensorUnderCal:sensor_status:

我有一种情况,我使用pydispatch在程序的不同部分之间进行通信

一个类有一个属性设置器,每当属性值发生变化时,它都会发出一个信号。 代码的另一部分处理UI中显示该属性值的部分

下面显示了一些日志。您可以看到“sensor_status”(传感器状态)设置器使用不同的值调用(“Idle”,然后是“Meas Fluid”)。这是事件发生的适当顺序

 2020-09-29 11:58:27,841 - [METHOD_THREAD] SensorUnderCal:sensor_status:  Thread:[MainThread]
 2020-09-29 11:58:27,922 - [M_TRACE] SensorUnderCal:sensor_status: Invoked (Setter): {'value': 'Idle'}
...
 2020-09-29 11:58:27,928 - [METHOD_THREAD] SensorUnderCal:sensor_status:  Thread:[handle_msg]
 2020-09-29 11:58:27,928 - [M_TRACE] SensorUnderCal:sensor_status: Invoked (Setter): {'value': 'Meas Fluid'}
然后,接收代码发布一些日志消息,但顺序相反

[DEBUG  ] [Set Sensor Status] {'value': 'Meas Fluid'}, thread: handle_msg
[DEBUG  ] [Set Sensor Status] {'value': 'Idle'}, thread: handle_msg
日志记录格式不同,因为第一组代码使用自定义记录器,第二组使用Kivy附带的记录器

两组日志都显示了执行代码的线程。所有操作都在一个名为“handle_msg”的线程中执行,但设置“sensor_status”的第一个调用除外,它是在一个名为“MainThread”的线程中执行的。我怀疑这是我的问题的一部分,但我不确定如何排除故障,或者如何强制它们在同一个线程中执行,以便保持顺序。我不确定pydispatch如何处理执行顺序,所以我不知道如何控制它

有人能帮我吗

多谢各位