Найти - Пользователи
Полная версия: Как реализовать многопоточность через pool.map?
Начало » Python для новичков » Как реализовать многопоточность через pool.map?
1
prince660
Возникла необходимость реализовать многопоточность в приложении, был выбран вариант pool.map().
Такой вопрос:
Пытаюсь вставить в pool.map() функцию с двумя перемнными, одна из них это список, который map должна перебирать, а другая - это перемнная с одним значением, её нужно просто передать. Как это сделать?

Например:
list1 - это список значений, которые нужно перебрать через map
objekt - это объект который нужно просто передать в функцию

def funk(list1, objekt):
выполняемое действие

pool = Pool(4)
pool.map(?????????)
ajib6ept
In [1]: def f(x):
   ...:     return x*x
   ...:
In [2]: list1 = [1, 2, 3, 4, 5]
In [3]: map(f, list1)
Out[3]: [1, 4, 9, 16, 25]
prince660
Этот пример я тоже находил в интернете и пробовал использовать, но мне он не подходит. У меня функция на входе должна получать Два значения и только Одно из этих двух значений должно итерироваться через map.
py.user.next
>>> from multiprocessing import Pool
>>> 
>>> def f(lst, n):
...     return n + sum(lst)
... 
>>> def g(t):
...     return f(*t)
... 
>>> lst = [([1, 2, 3], 5), ([4, 5, 6], 8)] * 5
>>> 
>>> p = Pool(5)
>>> p.map(g, lst)
[11, 23, 11, 23, 11, 23, 11, 23, 11, 23]
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB