让我们假设有一个班级
class Helper(object):
@property
def lazy_prop(self):
if not self.__model:
self.__model = init()
return self.__model
...
我有功能
def action(data):
#handle some actions which using Helper
我有一些数据,需要使用action
这样的函数来处理
data = ['bla-bla', 'foo-foo']
pool = Pool()
pool.imap(action, data)
问题是懒惰属性会多次初始化,而不是单个。为什么会发生这种情况以及如何解决这个问题?
答案 0 :(得分:0)
使用multiprocessing
,如果您生成多个作业,则Helper.lazy_prop
将在每个Process
中初始化。