したがって、基本的に配列を合計するこのプログラムがあります。プログラムは 700,000 行ほどを分析する必要があるため、マルチプロセッシングを使用しました。以下に、私が抱えている問題を説明する小さなスクリプトを作成しました
import multiprocessing as mp
import numpy as np
import ctypes
t = range(100000)
list_1 = np.zeros((10))
for i in t:
    list_1 += np.array([1]*10)
list_t = mp.Array(ctypes.c_double, 10)
list_2 = np.ctypeslib.as_array(list_t.get_obj())
list_2 = list_2.reshape(10)
# No copy was made
assert list_2.base.base is list_t.get_obj()
def proc(x):
    global list_2
    list_2 += np.array([1]*10)
if __name__ == '__main__':
    pool = mp.Pool(processes = 6)
    pool.map(proc,t)
その出力:
In [2]: list_1
Out[2]: 
array([ 100000.,  100000.,  100000.,  100000.,  100000.,  100000.,
        100000.,  100000.,  100000.,  100000.])
In [3]: list_2
Out[3]: 
array([ 55828.,  65441.,  99300.,  68068.,  78774.,  78514.,  82393.,
        83446.,  82854.,  86987.])
明らかに、両方の配列を list_1 のようにしたかったのです。ここで何が起こっているのですか?