Использование многопроцессорного пула в Python ⇐ Python

Программы на Python
Anonymous
Использование многопроцессорного пула в Python

Сообщение Anonymous »

Может кто-нибудь указать, что не так с этим фрагментом кода. Это не дает никаких результатов.

Код: Выделить всё

import multiprocessing

results = []

def log_results(result):
results.append(result)

def multiply(x, y):
print(f"Gets here for process name {multiprocessing.current_process().name()}")
return x * y

if __name__ == "__main__":
pool = multiprocessing.Pool()
numbers = [(1,1), (2,2), (3,3)]
for x, y in numbers:
print (f"Checking x {x} and y {y}")
pool.apply_async(multiply, (x, y), callback=log_results)
pool.close()
pool.join()
print(results)
— это пустой список, которого в данном случае быть не должно, верно? Я использовал apply_async и map_async. Ни один из них не дает правильного результата. Может кто-нибудь помочь мне здесь?


Подробнее здесь: https://stackoverflow.com/questions/555 ... -in-python

Вернуться в «Python»