假设存在一个类Bar
,该类具有方法run
,它使用foo
调用自己的方法multiprocessing
。为避免发生pickle
错误,它必须从pool
中删除self.__dict__
。
通常,用户可以像功能Bar.run
中一样调用test1
。它工作正常。
但是,当用户有大量数据时,他可能想像函数Bar.run
中那样以多处理方式调用test2
,并且会出现错误:
AttributeError: 'Bar' object has no attribute 'pool'
。发生此错误是因为已经在pool
的{{1}}调用期间删除了pool.map
。
在现实世界中,bar.run
和Bar.foo
都需要很长时间才能执行。那么有没有办法并行调用Bar.run
?
Bar.run