首页 > 解决方案 > 如何在python中对分配给每个进程并行的每个队列进行操作?

问题描述

假设有四个核心 cpu 处理器,我正在运行所有四个进程。我为每个进程分配了一个队列。但是我如何同时运行所有队列。

class ParentProcess(multiprocessing.Process):

    def __init__(self, queue):
        multiprocessing.Process.__init__(self)
        self.queue = queue

    def run(self):
        while not self.queue.empty():
            data = self.queue.get()
            print(data)

def main():
   numProcs = 4
   queueList = [multiprocessing.Queue() for i in range(numProcs)]

   for index, queue in enumerate(queueList):
        deals = [1,2,3]
        for deal in deals:
            queue.put(deal)
        p = ParentProcess(queue)
        p.start()
        p.join()

在这里,每个进程一个接一个地运行。但是,我需要并行运行这个并并行处理队列的每个元素。

标签: pythonconcurrencyqueue

解决方案


推荐阅读