Как получить возвращаемое значение функции в многопроцессорном коде Python

#python-3.x #python-multiprocessing

#python-3.x #python-многопроцессорный

Вопрос:

Это мой код на python. Я пытаюсь получить возвращаемое значение (aa1) из print_cube() Есть ли способ получить значение aa1 внутри main(). Я должен использовать многопроцессорную обработку и для вызова других функций.

 import multiprocessing   
def print_cube(num): 
    aa1 = num * num * num
    return aa1

def main(): 
    # creating processes 
    p1 = multiprocessing.Process(target=print_cube, args=(10, )) 
    p1.start() 

main()
 

Ответ №1:

Используйте многопроцессорную обработку.Объединяйте, когда вы хотите получить возвращаемые значения.

 def print_cube(num):
    aa1 = num * num * num
    return aa1


def main():
    with Pool(5) as p:
        results = p.map(print_cube, range(10, 15))
    print(results)


if __name__ == "__main__":
    main()