我是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()})
这可能或者这里有酸洗/同步/范围问题吗?
答案 0 :(得分:0)
经过一些测试,后者似乎工作正常。