队列和进程子类实例化行为

时间:2016-05-17 16:33:21

标签: python python-multiprocessing

我是python多进程API的新手。我有multiprocess.Process()的自定义子类,我们称之为MyProcess。我看到的很多示例都在Queues中定义__main__,然后传递给Process构造函数。

就我而言,我为每个(前后过程)生成N Process个子类和2个Queue。我更喜欢在每个子流程中放置Queue初始化:

import multiprocessing as mp

class MyProcess(mp.Process) :

def __init__(self,ID) :
    mp.Process.__init__(self)
    self.name = ID
    self.queues = {'pre':mp.Queue(),'post':mp.Queue()}

if __name__ == "__main__" :

    my_proc = MyProcess(ID)

而不是:

import multiprocessing as mp

class MyProcess(mp.Process) :

    def __init__(self,ID,queues) :
        mp.Process.__init__(self)
        self.name = ID
        self.queues = queues

if __name__ == "__main__" :

    my_proc = MyProcess(ID,{'pre':mp.Queue(),'post':mp.Queue()})

这可能或者这里有酸洗/同步/范围问题吗?

1 个答案:

答案 0 :(得分:0)

经过一些测试,后者似乎工作正常。