我们可以使用创建的上下文,使用Python 3的multiprocessing
创建非分叉的进程:
ctx = multiprocessing.get_context('spawn')
p = ctx.Process(target=foo, args=(42,))
p.start()
但是,假设我正在使用Process
的子类。有没有一种方法可以使用Process
以外的方法来创建fork
子类实例?
答案 0 :(得分:1)
继承自ctx.Process
:
ctx = multiprocessing.get_context('spawn')
class CustomProcess(ctx.Process):
# define methods
答案 1 :(得分:1)
@Daniel接受的答案非常好(并且可能更惯用),但也请注意,您可以在多处理模块(例如Process
中更深入地找到multiprocessing.context.SpawnProcess
的适当上下文化的子类。 )。您也可以从这些继承来获得所需的行为。