Я пытаюсь сделать два последовательных пула. Примеры кодов:
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()
Нужно ли мне что-то делать между первым и вторым пулами?