Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当另一个线程上的函数完成python时停止该线程_Python_Multithreading_Scope - Fatal编程技术网

当另一个线程上的函数完成python时停止该线程

当另一个线程上的函数完成python时停止该线程,python,multithreading,scope,Python,Multithreading,Scope,[初学者]我有两个功能,一个是从gopro上获取相机馈送并检查运动。它会这样做,直到移动量等于某个数字。另一个函数播放歌曲。我正在使用线程,但当相机功能终止时,歌曲功能继续。当第一个函数停止时,如何停止第二个函数 编辑:我意识到这与此类似,但我不确定我是否理解正在发生的事情。您需要的是跟踪歌曲是否应该播放的某种东西(称为“事件”)。播放歌曲的线程仅在歌曲应该播放时(当事件处于特定状态时)播放歌曲。计数移动的线程在检测到移动时会更改事件的状态。歌曲是如何播放的?您可以从摄像头线程关闭该api。歌曲

[初学者]我有两个功能,一个是从gopro上获取相机馈送并检查运动。它会这样做,直到移动量等于某个数字。另一个函数播放歌曲。我正在使用线程,但当相机功能终止时,歌曲功能继续。当第一个函数停止时,如何停止第二个函数


编辑:我意识到这与此类似,但我不确定我是否理解正在发生的事情。

您需要的是跟踪歌曲是否应该播放的某种东西(称为“事件”)。播放歌曲的线程仅在歌曲应该播放时(当事件处于特定状态时)播放歌曲。计数移动的线程在检测到移动时会更改事件的状态。歌曲是如何播放的?您可以从摄像头线程关闭该api。歌曲播放线程从api中得到一个错误并知道退出。另一个方法是简单标志。假设您的歌曲播放在一个短循环中,它可以执行
,而i\u should\u keep\u running:
另一个线程执行
i\u should\u keep\u running=False
,因此循环终止。@DavidSchwartz这非常有效,谢谢!你需要的是一种跟踪歌曲是否应该播放的东西(称为“事件”)。播放歌曲的线程仅在歌曲应该播放时(当事件处于特定状态时)播放歌曲。计数移动的线程在检测到移动时会更改事件的状态。歌曲是如何播放的?您可以从摄像头线程关闭该api。歌曲播放线程从api中得到一个错误并知道退出。另一个方法是简单标志。假设您的歌曲播放在一个短循环中,它可以执行
,而i\u should\u keep\u running:
另一个线程执行
i\u should\u keep\u running=False
,因此循环终止。@DavidSchwartz这非常有效,谢谢!