当前位置:   article > 正文

python内multiprocessing使用共享的Array_python multiprocessing.array

python multiprocessing.array

只能在linux使用的,win10不能正常运行的

  1. from multiprocessing import cpu_count, Pool, Array, Manager
  2. import numpy as np
  3. N = 20
  4. M = 20
  5. L = 20
  6. ret = Array('f', N*M*L)
  7. def calcul(i, j, k, num,):
  8. # global ret
  9. ret._obj[num] = 10.0 #i+j+k
  10. kk = 0
  11. def main():
  12. p = Pool(2, initargs=ret)
  13. num = 0
  14. for i in range(N):
  15. for j in range(M):
  16. for k in range(L):
  17. # Perform some computations
  18. # calcul(i, j, k, num)
  19. p.apply_async(calcul, args=(i, j, k, num,))
  20. # p.apply(calcul, args=(i, j, k, num,))
  21. num += 1
  22. p.close()
  23. p.join()
  24. if __name__=="__main__":
  25. main()
  26. kk = []
  27. for i in range(N*M*L):
  28. kk.append(ret._obj[i])
  29. k = 0
'
运行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/860695?site
推荐阅读
相关标签
  

闽ICP备14008679号