【发布时间】:2020-01-31 04:18:11
【问题描述】:
我的 .py 文件(通过多处理使用最大 CPU)在不退出 .py 文件的情况下停止运行。
我正在执行一项繁重的任务,该任务使用旧 MacBook Pro(2012 年)中的所有内核。该任务一开始运行良好,我可以直观地看到四个 python3.7 任务填充了活动监视器窗口。然而,大约 20 分钟后,这四个 python3.7 从 Activity Monitor 中消失了。
最奇怪的部分是多处理 .py 文件仍在运行,即它从未抛出未捕获的异常或退出文件。
你们对发生了什么有什么想法吗?我的猜测是 1) 很可能是脚本出错,2) 旧电脑过热。
谢谢!
编辑:下面是多进程代码,其中要执行的多进程函数是 func,其参数是一个列表。我希望这会有所帮助!
import multiprocessing
def main():
pool = multiprocessing.Pool()
for i in range(24):
pool.apply_async(func, args = ([], ))
pool.close()
pool.join()
if __name__ == '__main__':
main()
【问题讨论】:
-
您需要编辑您的问题并添加您正在使用的代码,否则我们将无法提供帮助,因为有多种方法可以设置多处理。
-
@MyNameIsCaleb,感谢您的提醒 - 附件是多处理代码。我对这个概念还是陌生的。
-
我添加了一个可能会解决您的问题的答案。由于您删除了一些您实际在做的事情(函数),所以我也保留了它的通用性。
标签: python python-3.x macos unix multiprocessing