gpt4 book ai didi

Python 多处理进程类生命周期

转载 作者:行者123 更新时间:2023-12-01 04:50:15 25 4
gpt4 key购买 nike

我正在使用Python的多处理Process项目的类,用于在单独的进程中处理函数。我的问题是,当单独进程中的函数执行其工作时会发生什么?是进程保持空闲状态,还是进程在函数结束时被杀死?另外,给进程/函数施加重负载会有什么问题吗?

代码块是这样的:

p = Process(target=function, args=[status.json])
if not p.is_alive():
p.start()
p.join()

最佳答案

如果您使用 Process class ,然后当您调用 start() 时该过程开始,并在目标函数完成时终止,或者调用 Process 对象的 terminate()方法。进程终止后不消耗执行资源,但会保留在process table中作为zombie process直到您调用join()

关于您对给新流程带来“沉重负担”的担忧,它应该不会有任何影响。多处理库启动成熟的独立进程,因此它们的运行方式与主进程基本相同。现在很难说 Process 类是否真的适合您的问题,因为“重负载”可能意味着许多不同的事情。如果您的任务是 IO 密集型,则threading module可能是一个更好的选择。如果您在许多不同的对象上执行相同的任务,process pools可能是一个更合适的选择。但“重负载”本身不应该引起问题。

关于Python 多处理进程类生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28626970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com