从并行运行的函数获取输出

时间:2019-09-03 07:23:31

标签: python-3.x function python-multiprocessing

我有两个函数,这些函数是使用python多处理异步运行的。我需要将每个函数的值存储在数组中,以便以后使用。

我试图将输出存储在每个函数的numpy数组中,然后将它们返回。但是,我没有得到任何输出。打印语句正常工作。

x = np.array([])
y = np.array([])

def func1():
    for _ in range(1,150):
        print((rstr.xeger(random.choice(sList))))
        np.append(x,rstr.xeger(random.choice(sList)))
    return x

def func2():
    for _ in range(1,150):
        print(fake.name())
        np.append(y,fake.name())
    return y

if __name__ == '__main__':
    p1 = multiprocessing.Pool(5)
    p2 = multiprocessing.Pool(5)
    print("Started")
    start = time.time()
    x = p1.apply_async(func1)
    y = p2.apply_async(func2)
    print(time.time() - start) 
    print("Ended")

我需要从两个函数返回的数组x和y。

0 个答案:

没有答案