python内multiprocessing使用共享的Array
只能在linux使用的,win10不能正常运行的。
·
只能在linux使用的,win10不能正常运行的
from multiprocessing import cpu_count, Pool, Array, Manager
import numpy as np
N = 20
M = 20
L = 20
ret = Array('f', N*M*L)
def calcul(i, j, k, num,):
# global ret
ret._obj[num] = 10.0 #i+j+k
kk = 0
def main():
p = Pool(2, initargs=ret)
num = 0
for i in range(N):
for j in range(M):
for k in range(L):
# Perform some computations
# calcul(i, j, k, num)
p.apply_async(calcul, args=(i, j, k, num,))
# p.apply(calcul, args=(i, j, k, num,))
num += 1
p.close()
p.join()
if __name__=="__main__":
main()
kk = []
for i in range(N*M*L):
kk.append(ret._obj[i])
k = 0
更多推荐
所有评论(0)