Отлично работает следующее параллельное выполнение функции: из многопроцессорного импорта Пул из случайного импорта randrange
def triple(number):
return number * 3
if __name__ == '__main__':
numbers = [5, 10, 20]
pool = Pool(processes=3)
print(pool.map(triple, numbers))
Но как я могу получить то же самое, всегда вызывая один и тот же метод в списке объектов, то есть когда функция является методом для некоторого класса объектов:
from multiprocessing import Pool
from random import randrange
class RandomNumber():
def __init__(self):
self.no = randrange(100)
def triple(self, *args, **kwargs):
print(triple(self.no))
return triple(self.no)
if __name__ == '__main__':
# but how can I always call the same method on an object
numbers = [RandomNumber() for m in range(0, 3)]
# e.g. here on every random number within the list
# call numbers[0].triple(), numbers[1].triple() ...
# paralelly?
Проблема в том, что я привязан к указанным c объектам и не могу просто использовать функцию ..
Заранее спасибо!