0
属性として2次元numpy配列を持つオブジェクトAを作成したとします。次に、Process APIを使用して10個のスレッドを作成し、Aの行をランダムに設定しました。共有numpy配列を持つPythonマルチプロセッシング
すべてのプロセス(スレッド)間で共有されている場合はself.xかどうか、 )はただのコピーを持っていますか?
共有されていない場合、私はすべてのアップデートを失うでしょうか?
import numpy as np
from multiprocessing import Process
class A:
def __init__():
self.x = np.zeros((3,4))
def update():
threads = []
for i in range(10):
trd = Process(target=self.set, args=(i,))
threads.append(trd)
trd.start()
for i in range(10):
threads[i].join()
def set(i):
self.x[i/3] = np.random.rand(1,4)
if ___main___:
a = A()
a.update()