python 进程池 回掉函数

import time
import random
from multiprocessing import Pool


def f(index):
    print("{} in".format(index))
    sum = 0
    for i in range(10):
        sum+=i
    return "process {} sum {} ".format(index,sum)


def huidiao(s):
    print("output {}".format(s))

def main():
    pool = Pool(processes=3)    # set the processes max number 3

    for i in range(11,20):
        result = pool.apply_async(f, (i,),callback=huidiao)
    pool.close()
    pool.join()

if __name__ == "__main__":
    main()

pool.apply_async有一个回调函数的参数,回调函数参数就是多线程函数return的返回值。如上面程序 huidiao(s)中的s 就是f函数的return

你可能感兴趣的:(python 进程池 回掉函数)