我正在尝试使用joblib
并行调用成员函数:
import numpy as np
from joblib import Parallel, delayed
class C(object):
def func_change(self, i):
self.arr[i]=2*i
def __init__(self):
self.arr = np.array([1, 2, 3])
if __name__ == "__main__":
C_object = C()
print(C_object.arr)
Parallel(n_jobs=2)(delayed(C_object.func_change)(i) for i in range(2))
print(C_object.arr)
此输出
[1 2 3]
[1 2 3]
因此它似乎无法奏效。我的班级需要采用不同的方法/设计才能实现这一目标吗?