2010-07-08 80 views
1

我正在使用多处理模块。此模块适用于Queue,它是随机挑选过程并从Queue分配entery。如何通过名称或python中的标记调用进程

我要决定哪些进程将要处理哪个队列

这是我要求的条目,

我将通过2个参数排队

  1. 发起进程名称
  2. 行动/方法(什么过程要做)

它应该仅将队列条目传递给给定的进程。

回答

1

multiprocessing.Process对象在初始化时采用可选的名称参数。您可以使用该名称作为在字典中键:

child_procs = {'name1' : Process(target=myprocfunc, name='name1'), ...}

至于父进程和孩子之间的IPC,你应该罚款只维持每个子进程单独multiprocessing.Queue。您需要一个任务分配对象/功能来分配工作。这个函数可能会负责将任务从主/中央队列中弹出,然后将其分配给正确的子进程队列(基于我从你的问题中闪烁的架构)。

相关问题