如何在前台运行其他功能时在后台运行功能?

时间:2017-06-22 11:35:47

标签: python

我是python的新手,我正在尝试建立一个语音控制的家庭自动化系统。除了一件事,一切都很顺利。 当我说“停止”时,我需要系统停止它所做的任何事情。'例如,当它播放音乐时,或当它告诉我新闻时,如果我说"停止",它会停止所有内容并返回待机模式。

我怎样才能做到这一点,以便在后台有一个python进程总是在监听"停止"在前面做其他事情的时候?

这是我特定部分的代码:

def stop():
    #code_that_listens_for_"stop"

def main():
    #code_that_listens_and_executes_commands

# runs at the start of the program
if __name__ == '__main__':
    Thread(target = main).start()
    Thread(target = stop).start()

我的代码是否正确?

谢谢!这是我在stackexchange的第一个问题,任何帮助都将非常感谢^^

1 个答案:

答案 0 :(得分:0)

而不是线程使用过程,您将获得更多优势,如没有吉尔,快速,高效

from multiprocessing import Process
def stop():
    #code_that_listens_for_"stop"

def main():
    #code_that_listens_and_executes_commands

# runs at the start of the program
if __name__ == '__main__':
    Process(target=stop).start()
    Process(target=main).start()