Python 3:生成流程子类

时间:2018-08-29 19:50:28

标签: python python-3.x python-multiprocessing

我们可以使用创建的上下文,使用Python 3的multiprocessing创建非分叉的进程:

ctx = multiprocessing.get_context('spawn')
p = ctx.Process(target=foo, args=(42,))
p.start()

但是,假设我正在使用Process的子类。有没有一种方法可以使用Process以外的方法来创建fork子类实例?

2 个答案:

答案 0 :(得分:1)

继承自ctx.Process

ctx = multiprocessing.get_context('spawn')
class CustomProcess(ctx.Process):
    # define methods

答案 1 :(得分:1)

@Daniel接受的答案非常好(并且可能更惯用),但也请注意,您可以在多处理模块(例如Process中更深入地找到multiprocessing.context.SpawnProcess的适当上下文化的子类。 )。您也可以从这些继承来获得所需的行为。