在python中终止线程的最佳方法是什么?

时间:2019-10-28 09:38:08

标签: python multithreading flask python-multithreading terminate

我正在实现Flask应用程序,并根据请求调用函数A。在函数A中,还有另一个函数B,它被调用。但是,我不需要等到函数B的执行结束就可以从函数A返回输出。我已经通过以下代码实现完成了该工作。

from threading import Thread

def functionA():
    result = doSomething1()
    Thread(target=functionB).start()
    return result

def functionB():
    # Do something after the execution of doSomething1()

在这里,我正在启动一个新线程并执行我需要做的事情,但是,我没有终止新启动的线程。我需要自己终止该线程吗?如果是这样,最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

线程将自行终止。要查看它是否还活着,可以使用thread.is_Alive()

如果必须强制终止线程,请使用thread.join()作为closes选项,因为这会阻塞调用线程,直到相关线程完成为止。

另请参阅文档以获取有关线程功能的更多信息

  

https://docs.python.org/3/library/threading.html