大家好
最近研究python 的 multiprocessing 如何使用
multiprocessing可以說是python 把多執行緒打包好的方便使用套件
相當方便
要注意的就是要 更新 的值
要放在 multiprocessing 的 value 裡面
給大家參考囉
import multiprocessing
#放置2D資料
array2D = []
for i in range(0,5):
tll = []
for q in range(0,5):
#放置multiprocessing的值
tll.append(multiprocessing.Value('i', 0))
array2D.append(tll)
#更新值的程式
def test_func(i, varp):
with varp[i][i].get_lock():
#在對角線+1
varp[i][i].value += 1
#新增執行緒
processes = []
for i in range(0,5):
#放入參數
p = multiprocessing.Process(target=test_func, args=(i, array2D))
processes.append(p)
p.start()
#等待跑完
for process in processes:
process.join()
#查看參數
for xx, aa in enumerate(array2D):
for yy, cc in enumerate(aa):
print(' array2D = ',xx,yy,' = ',cc.value)

留言板
歡迎留下建議與分享!希望一起交流!感恩!