我的python代码运行一个需要很长时间的函数:
Navigation()
在执行期间,我想要一个重置按钮。为了重置按钮工作,我使用了线程,我设法通过按下按钮将我的代码转换为线程回调函数。如何终止当前正在运行的Navigation()
并调用另一个新的Navigation()
函数?感谢。
提前致谢。
答案 0 :(得分:0)
如果您的导航功能有一个执行的循环,您可以检查“中断”变量是否设置为True。如果是这样,您可以在该检查期间终止导航功能:
def navigation(self):
# reset self.interrupt as appropriate
while not self.interrupt:
pass # Do something here
# You will want some other exit condition as well, of course.
def button_pressed_response(self):
self.interrupt = True
self.navigation()
如果您可以按照指示访问多线程库,则可以使用更优雅的回调函数并简化重置逻辑。
答案 1 :(得分:0)
这个答案几乎总结了终止线程的问题和陷阱: