Python multithread.pool.imap()中的延迟加载多次发生,而不是一次
让我们假设有一节课Python multithread.pool.imap()中的延迟加载多次发生,而不是一次,python,multithreading,python-2.7,lazy-loading,Python,Multithreading,Python 2.7,Lazy Loading,让我们假设有一节课 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 我有一些数据,需要像这样用动作函数来处理 data = ['bla-bla
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
我有一些数据,需要像这样用动作函数来处理
data = ['bla-bla', 'foo-foo']
pool = Pool()
pool.imap(action, data)
问题在于惰性属性需要多次初始化,而不是一次初始化。为什么会发生这种情况以及如何修复这种情况?使用多处理,如果生成多个作业,那么Helper.lazy_属性将在每个进程中初始化