2

基本的に私が望む2のは、それらを に挿入して、 の外側で変更されるarようにすることです。arworker_function

import numpy as np
import multiprocessing as mp
from functools import partial


def worker_function(i=None, ar=None):
    val = 2
    ar[i] = val
    print(ar)


def main():
    ar = np.zeros(5)
    func_part = partial(worker_function, ar=ar)
    mp.Pool(1).map(func_part, range(2))
    print(ar)


if __name__ == '__main__':
    main()

これまでに達成できる唯一のことは、関数の外側ではなくar内側のコピーを変更することです。worker_function

[2. 0. 0. 0. 0.]
[0. 2. 0. 0. 0.]
[0. 0. 0. 0. 0.]
4

2 に答える 2