Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python pipe

作者:轻狂书生   发布日期:2026-07-10   浏览:34

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()

解释说明:

  1. Pipe():创建一个双向管道,返回一对连接对象 parent_connchild_conn。每个连接对象都有 send()recv() 方法,用于发送和接收数据。
  2. sender 函数:负责通过 conn.send() 方法将数据发送到管道中,并在完成后关闭连接。
  3. receiver 函数:负责通过 conn.recv() 方法从管道中接收数据,并打印出来。
  4. Process 类:用于创建并启动子进程。target 参数指定子进程要执行的函数,args 参数传递给该函数的参数。
  5. start() 和 join()start() 启动进程,join() 等待进程完成。

这个示例展示了如何使用 Python 的 multiprocessing.Pipe 实现进程间通信。

上一篇:python 字符串转dict

下一篇:python取字符串前几位

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

python集合中的元素可以是列表

staticmethod在python中有

python 保存json文件

python的assert基本用法

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站