进程间交互

来源:互联网 发布:xd软件 编辑:程序博客网 时间:2024/06/05 07:25

可以使用Pipe,得到两个管道,进行进程间收发数据

import multiprocessingdef send(sender):    for value in range(5):        sender.send(value)def recv(recver):    while True:        print(recver.recv())if __name__ == '__main__':    sender, recver = multiprocessing.Pipe()    p = multiprocessing.Process(target=send, args=(sender,))    pp = multiprocessing.Process(target=recv, args=(recver,))    p.start()    pp.start()

生成管道并传入进程,自动连接

单工或是双工通过Pipe中指定参数生成

默认单工,第一个发,第二个收


Manager

import multiprocessingdef tets(l=[],start=0,end=5,step=1):    print(l)    for value in range(start,end,step):        l.append(value)    print(l)if __name__ == '__main__':    with multiprocessing.Manager() as manager:        ll = manager.list()        p = multiprocessing.Process(target=tets,args=(ll,1,5,1))        pp = multiprocessing.Process(target=tets,args=(ll,55,99,11))        p.start()        pp.start()        p.join()        pp.join()

用于定义进程间共享数据,进程间操作都会相互影响,是公有的数据,可生成字典和列表等数据格式

原创粉丝点击