【发布时间】:2014-07-30 05:40:41
【问题描述】:
我有一个函数a 执行一些任务,另一个函数b 是一些事件的回调。每当发生事件时,都会调用函数b,我想让它能够中断函数a的执行。这两个函数都在同一个类中声明。
函数a 不应该调用函数b。函数b是完全独立的,它是对来自ROS:机器人操作系统的“检测到用户面部”等外部事件的回调。
我需要的基本上是可以从 Python 中调用的 Ctrl+C 之类的东西,它只会中止目标函数而不是整个程序。
这可以在 Python 中完成吗?
【问题讨论】:
-
你的回调是怎么调用的?
-
我正在使用 ROS(机器人操作系统),您可以在其中订阅某些事件的任何功能。
-
这样的??? chk = True def function_a(): if chk: do_process() def function_b(): global chk chk = False
-
是的,我考虑过这一点,但是我需要在脚本 do_process 的每个块上加上 if chk,这样程序即使在 do_process() 期间也可以退出,而不是在它完成后退出。
-
使用线程怎么样?你试过了吗?