>>进程间通信Pipe
'''
管道是系统实行通信的一种技术手段,开发者可以利用管道创建两个通信链接对象,这两个对象可以实现单端通信,也可以是实现双端通信
'''
import multiprocessing
def send_data(conn1,data):
conn1.send(data)
def recv_data(conn2):
print(conn2.recv())
def main():
(conn1,conn2) = multiprocessing.Pipe()
p1=multiprocessing.Process(target=send_data,args=(conn1,'ni shi yige da sha bi'))
p2=multiprocessing.Process(target=recv_data,args=(conn2,))
p1.start()
p2.start()
if __name__ == '__main__':
main()
import multiprocessing
import time
def producer(conn1,data):
for result_data in data:
conn1.send(result_data)
time.sleep(1)
def customer(conn2):
while True:
try:
print(conn2.recv())
except EOFError:
break
def main():
data1 = [i for i in 'nishiyigedashabi']
(conn1,conn2) = multiprocessing.Pipe()
p1=multiprocessing.Process(target=producer,args=(conn1,data1))
p2=multiprocessing.Process(target=customer,args=(conn2,))
p1.start()
p2.start()
conn1.close()
conn2.close()
if __name__ == '__main__':
main()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏