python 获取进程的返回值

python 获取进程的返回值

使用multiprocessing的Manager下的list,dict等模块接收返回值

示例如下

import multiprocessing
from multiprocessing import Manager

def worker(procnum, returns):
    '''worker function'''
    print(str(procnum) + ' represent!')
    returns.append(procnum)
    return returns

if __name__ == '__main__':
    manager = Manager()
    return_list = manager.list() #也可以使用列表dict
    # returns = []
    jobs = []
    for i in range(5):
        p = multiprocessing.Process(target=worker, args=(i, return_list))
        jobs.append(p)
        p.start()

    for proc in jobs:
        proc.join()
    # 也可以单独等待每个线程介绍,这样就能知道每个进程对应的返回值的,使用上面的方法只是得到所有进程的返回值
    print(return_list)

你可能感兴趣的:(python,python,多进程)