我需要从Python中的另一个线程中断主线程。
期望的行为是在 主线程的执行。
详情:
主线程使用队列(语音、电机控制、视觉动画)通过各种线程编排动画机器人。
通信线程通过USB监听Arduino(监听运动确认)。 Arduino 被编程为通过 USB 连接发送消息来处理按钮按下硬件中断。
我需要能够在通信线程上收到硬件中断消息后立即中断主线程的动画例程,实质上是将硬件中断转换为软件级别。
完美的行为是在主线程上触发异常之一,在机器人造成任何伤害之前将其停止。我尝试了许多“最佳实践”方法,例如事件处理,但这留下了一个危险的时期,机器人在处理硬件中断事件之前完成当前的运动。我也考虑过信号,尽管使用它们进行线程通信并不理想。
有什么建议吗?