Два последовательных многопроцессорных пула по python параллельности - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь сделать два последовательных пула. Примеры кодов:

import numpy as np
import multiprocessing as mp

n  = 100
y1 = np.zeros(n, dtype=np.float)
y2 = np.zeros(n, dtype=np.float)

def f(i,a):
    return i, float(i)+a

def callback1(result):
    i = result[0]
    y1[i] = result[1]

def callback2(result):
    i = result[0]
    y2[i] = result[1]

# pool 1
pool = mp.Pool(processes=4)
for i in range(n):
    pool.apply_async(f, args=(i,2.0), callback=callback1)   
pool.close()
pool.join()

# pool 2
pool = mp.Pool(processes=4)
for i in range(n):
    pool.apply_async(f, args=(i,2.0), callback=callback2)   
pool.close()
pool.join()

Нужно ли мне что-то делать между первым и вторым пулами?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...