1. С использованием инициализатора и глобального окружения
from multiprocessing import Pool
def init_context(context):
globals().update(context)
def f(x):
return x*multiplier
if __name__ == '__main__':
pool = Pool(4, init_context, [{'multiplier': 2},])
data = xrange(10)
print pool.map(f, data)
2. С использованием callable классов
from multiprocessing import Pool
class f(object):
def __init__(self, multiplier):
self.multiplier = multiplier
def __call__(self, x):
return x*self.multiplier
if __name__ == '__main__':
pool = Pool(4)
data = xrange(10)
print pool.map(f(3), data)
Комментариев нет:
Отправить комментарий