当前位置: 首页 > news >正文

使用multiprocessing实现进程间共享内存

在 Python 中,可以使用多种方法来实现几个进程之间的通信。

  • 简单消息传递:使用 multiprocessing.Queuemultiprocessing.Pipe

  • 共享简单数据:使用 multiprocessing.Valuemultiprocessing.Array

  • 共享复杂数据:使用 multiprocessing.Manager

  • 进程间信号控制:使用 multiprocessing.Event

  • 任务分发:使用 multiprocessing.Pool

1. 使用 multiprocessing.Queue

multiprocessing.Queue 是一个进程安全的队列,可以用于在多个进程之间交换数据。

示例代码:

import multiprocessing

def sender(queue, messages):
    for msg in messages:
        queue.put(msg)

def receiver(queue):
    while not queue.empty():
        msg = queue.get()
        print(f"Received: {msg}")

if __name__ == "__main__":
    # 创建一个队列
    queue = multiprocessing.Queue()

    # 要发送的消息
    messages = ["Hello", "World", "Python", "Multiprocessing"]

    # 创建发送进程和接收进程
    send_process = multiprocessing.Process(target=sender, args=(queue, messages))
    recv_process = multiprocessing.Process(ta

相关文章:

  • YOLOv11 目标检测
  • 物联网(IoT)架构中,平台层的应用与技术
  • 海量数据查询加速:Presto、Trino、Apache Arrow
  • 神经网络量化-基础算法介绍
  • Sidekick:你的 macOS 本地 AI 助手,畅享智能对话!
  • Kafka消息队列
  • 分享一个工具可以国内无限制访问GitHub(来源于GitHub开源项目)
  • 【3-14 STC-pair超级详细的解说】
  • linux(ubuntu)中Conda、CUDA安装Xinference报错ERROR: Failed to build (llama-cpp-python)
  • openharmony5.0中HDF驱动框架源码梳理-服务管理接口
  • Deny by project hooks setting ‘default‘: size of the file
  • Android自动化测试工具
  • tcpdump剖析:入门网络流量分析实战指南
  • 《Operating System Concepts》阅读笔记:p286-p308
  • 关于使用Visual Studio编码问题
  • 30天学习Java第四天——设计模式
  • RabbitMQ之旅(2)
  • Python----数据可视化(Pyecharts三:绘图二:涟漪散点图,K线图,漏斗图,雷达图,词云图,地图,柱状图折线图组合,时间线轮廓图)
  • 阿里云魔笔低代码应用开发平台快速搭建教程
  • 【C++】string类的相关成员函数以及string的模拟实现
  • “三个集中”之后:图说浦东新区28次撤乡并镇
  • 由我国牵头制定,适老化数字经济国际标准发布
  • 回望星河深处,唤醒文物记忆——读《发现武王墩》
  • 观察|“双雄”格局下电池制造商如何生存:加码不同技术、抢滩新赛道
  • 中国创面修复学科发起者之一陆树良教授病逝,享年64岁
  • 明查|印度空军“又有一架战机被巴基斯坦击落,飞行员被俘”?