1
billgreen1 2016-04-15 20:54:52 +08:00
先说结论:
多线程的话,不会。由于 GIL ,不会出现多个线程『同时』修改你的对象。 多进程,会。因为是 fork 一份数据过去的。 代码如下,如果多进程,去掉 backend 参数即可。 from joblib import Parallel, delayed import numpy as np import time class C(object): pass def func(c): c.value+=1 print(c.value) c = C() c.value=0 Parallel(n_jobs=4, backend='threading')(delayed(func)(c) for _ in range(20)) |