No puedo decapitar <type 'instancemethod'> cuando se usa Pool.map () de multiprocesamiento

Estoy tratando de usarmultiprocessingesPool.map() Función para dividir el trabajo simultáneamente. Cuando uso el siguiente código, funciona bien:

import multiprocessing

def f(x):
    return x*x

def go():
    pool = multiprocessing.Pool(processes=4)        
    print pool.map(f, range(10))


if __name__== '__main__' :
    go()

Sin embargo, cuando lo uso en un enfoque más orientado a objetos, no funciona. El mensaje de error que da es:

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

Esto ocurre cuando el siguiente es mi programa principal:

import someClass

if __name__== '__main__' :
    sc = someClass.someClass()
    sc.go()

y el siguiente es misomeClass clase:

import multiprocessing

class someClass(object):
    def __init__(self):
        pass

    def f(self, x):
        return x*x

    def go(self):
        pool = multiprocessing.Pool(processes=4)       
        print pool.map(self.f, range(10))

¿Alguien sabe cuál podría ser el problema o cómo evitarlo?

Respuestas a la pregunta(11)

Su respuesta a la pregunta