使用在类中定义的函数进行Python多处理

时间:2016-07-19 15:24:42

标签: python multithreading python-2.7 multiprocessing python-multiprocessing

我已经定义了一个包含许多不同类的python 2.7文件。

在这个类中,我定义了许多不同的函数,一旦将类设置为变量就可以调用它们。

在其中一个函数中,我已经定义了另一个我想用于多处理的函数。

请参阅下面的“addValue”函数示例(此示例代表我想要实现的内容)

import multiprocessing as mulpro
import numpy
class Scatter():
   def function1():
      ...
   def function2():
      ...
   def addValue(self):
      x = range(10)  #variable which would contain the data
      def targetFunction(Value):
         return (Value + numpy.random.uniform(0,1))
      pool = mulpro.Pool(processes=4)
      print pool.map(targetFunction, x)

当我尝试运行接近此示例的代码时,我从“map”函数中得到此错误:

 Can't pickle <type 'function'>: attribute lookup __builtin__.function failed

请帮忙吗?如果有解决方案,它必须遵循上面示例中看到的“类”层次结构......

0 个答案:

没有答案