如何在多处理中使Queue与Pool函数一起工作

时间:2018-01-19 14:03:46

标签: python multiprocessing pool

我在网站上看到过这个例子,我想知道如何使代码按照池功能运行。 我已经阅读了大量文档,但最接近此代码的是Olson提出的问题:Can I use a multiprocessing Queue in a function called by Pool.imap?

我想为代码分配4个进程。请保持温和,我也一直在处理stackoverflow问题,我要问的是有人根据我提供的示例提供了一个示例。这是代码:

import random
from multiprocessing import Process, Queue
import time
from datetime import datetime

def function1(q):
    while True:
        daydate = datetime.now()
        number = random.randrange(1, 215)
        print('Sent to function2: ({}, {})'.format(daydate, number))
        q.put((daydate, number))
        time.sleep(2)


def function2(q):
    while True:
        date, number = q.get()
        print("Recevied values from function1: ({}, {})".format(date, number))
        time.sleep(2)

if __name__ == "__main__":
    q = Queue()
    a = Process(target=function1, args=(q,))
    a.start()
    b = Process(target=function2, args=(q,))
    b.start()
    a.join()
    b.join()

我是新来的,所以请温柔地谢谢你。那么如何将池函数与此代码一起使用并为其分配4个进程?这是个问题,我提前非常感谢你们。

0 个答案:

没有答案