跳至内容
有识
个人网 | 追寻一切真知灼见
用户工具
管理
登录
站点工具
搜索
工具
显示页面
修订记录
反向链接
最近更改
媒体管理器
登录
>
最近更改
媒体管理器
您的足迹:
blog:ease:python:python进程通信_利用pipe管道进行全双工通信的案例
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
====== python进程通信:利用Pipe管道进行全双工通信的案例 ====== 在网上看到的资料中以单向通信的案例为主,一端作为接收端,一端作为发送端。 为了测试pipe的全双工通信,写了下面的案例。从面的案例可以看到管道的两端都是可读可写的。 <code python> #!/usr/bin/python3 # -*- coding: utf-8 -*- import multiprocessing, time def consumer(pipe): conn1,conn2 = pipe conn2.close() while True: # 首先做消费者 try: item = conn1.recv() if item == None: break print("cons消费:",item) except EOFError: break for item in range(10,20): # 然后转为生产者 print('cons生产:',item) conn1.send(item) conn1.close() # 生产完毕关闭 def producer(pipe): conn1,conn2 = pipe conn1.close() for item in range(10): # 首先做为生产者 print('prod生产:',item) conn2.send(item) conn2.send(None) # 发送一个信号 while True: # 变为消费者 try: item = conn2.recv() print("prod消费:",item) except EOFError: break if __name__ == '__main__': conn1,conn2 = multiprocessing.Pipe() cons_p = multiprocessing.Process(target=consumer,args=((conn1,conn2),)) cons_p.start() producer((conn1,conn2)) cons_p.join() </code> {{tag>原创 python}}
blog/ease/python/python进程通信_利用pipe管道进行全双工通信的案例.txt
· 最后更改: 03:42 - 09月02日 (外部编辑)
页面工具
显示页面
修订记录
反向链接
页面重命名
回到顶部