python Process管道通信收不到内容

python Process管道通信收不到内容

一直阻塞收不到信息

from  multiprocessing import Process,Pipe

#创建管道
fd1,fd2=Pipe(True)

def app1():
    print('启动app1,请登录')
    print('请求app2授权')
    fd1.send('app1请求登录')
    data=fd1.recv()
    if data:
        print('登陆成功:',data)

def app2():
    data=fd2.recv()
    print(data)
    fd2.send('123')
if __name__ == '__main__':
    p1=Process(target=app1)
    p2=Process(target=app2)
    p1.start()
    p2.start()
    p1.join()
    p2.join()

img

改下面这样,管道参数通过Process的args传入

from  multiprocessing import Process,Pipe
 
fd1,fd2=Pipe(True)
 
def app1(fd1):
    print('启动app1,请登录')
    print('请求app2授权')
    fd1.send('app1请求登录')
    data=fd1.recv()
    if data:
        print('登陆成功:',data)
 
def app2(fd2):
    data=fd2.recv()
    print(data)
    fd2.send('123')
if __name__ == '__main__':
    p1=Process(target=app1,args=(fd1,))
    p2=Process(target=app2,args=(fd2,))
    p1.start()
    p2.start()
    p1.join()
    p2.join()

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632