from datetime import datetime
from time import sleep
import numpy as np
import multiprocessing
# from multiprocessing.dummy import Pool as ThreadPool
def func(x, y, z):
sleep(3)
return x+y, z
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=6)
x = np.zeros((6, 1), dtype=int)
y = np.zeros((6, 1), dtype=int)
z = np.zeros((6, 1), dtype=int)
result = []
for i in range(6):
x[i,0] = i
y[i,0] = i
z[i,0] = i
xx = np.squeeze(x)
yy = np.squeeze(y)
zz = np.squeeze(z)
c = list(zip(xx, yy, zz))
print(c)
cc = np.array(c)
# print(cc)
# d = [(0, 0, 0), (1, 1, 1), (2, 2, 2), (3, 3, 3), (4, 4, 4), (5, 5, 5)]
print(datetime.now())
result = pool.starmap(func, c)
print(result)
print(datetime.now())
# from functools import partial
#
# def sum(a, b, c):
# return a + b + c
#
# a = 'abc'
# b = "ABC"
# c = "123"
# pa = partial(sum, a)
# re = pa(b, c)
#
# print(re)