from multiprocessing import Process, Pipe
def sender(conn):
# 发送数据到管道
conn.send([42, None, 'hello'])
conn.close()
def receiver(conn):
# 从管道接收数据
print("Received:", conn.recv())
if __name__ == '__main__':
# 创建一个管道,返回两个连接对象
parent_conn, child_conn = Pipe()
# 创建发送进程
p1 = Process(target=sender, args=(child_conn,))
# 创建接收进程
p2 = Process(target=receiver, args=(parent_conn,))
# 启动进程
p1.start()
p2.start()
# 等待进程结束
p1.join()
p2.join()
parent_conn 和 child_conn。每个连接对象都有 send() 和 recv() 方法,用于发送和接收数据。conn.send() 方法将数据发送到管道中,并在完成后关闭连接。conn.recv() 方法从管道中接收数据,并打印出来。target 参数指定子进程要执行的函数,args 参数传递给该函数的参数。start() 启动进程,join() 等待进程完成。这个示例展示了如何使用 Python 的 multiprocessing.Pipe 实现进程间通信。
上一篇:python 字符串转dict
下一篇:python取字符串前几位
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站