On 1/28/11 1:02 PM, Alan wrote:
Can the below example be fixed to work?
Thanks,
Alan Isaac
import multiprocessing as mp
class Test(object):
pass
def class_factory(x):
class ConcreteTest(Test):
_x = x
return ConcreteTest
def f(cls):
print cls._x
if __name__ == '__main__':
pool = mp.Pool(2)
pool.map(f, [class_factory(i) for i in range(4)])
Send the (pickleable) factory and the arguments used to construct the instance,
not the unpickleable instance itself.
def g(factory, i):
cls = factory(i)
print cls._x
if __name__ == '__main__':
pool = mp.Pool(2)
pool.map(g, zip([class_factory] * 4, range(4)))
By the way, when asking for help like this, show us what your code did and
describe what results you want. It can often be hard to figure out exactly what
you mean by "work".
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
--
http://mail.python.org/mailman/listinfo/python-list