【发布时间】:2021-08-02 16:16:40
【问题描述】:
停止连续运行的 Python 进程的正确做法是什么?考虑以下代码:
from multiprocessing import Process
run_process = Process(target=self.run)
def start_running():
run_process.start()
def run():
while True:
# Do stuff
def stop_running():
# ???
run_process.join()
我希望理想的情况是在调用 stop_running() 时让 run() 进程自行结束。一个想法是在 stop_running() 中发出信号量,该信号量在 run() 循环中进行检查,因此它知道要中断。但我想知道常见的做法是什么。
【问题讨论】:
标签: multithreading multiprocessing python-multiprocessing