Python的Multiprocessing的进程通信

2023-11-24

我了解了Python多进程的Pipes/Queues/Shared ctypes Objects/Managers,我想将它们与Linux的匿名管道、命名管道、共享内存、套接字等进行比较。我现在有以下问题

  • Python 多处理的管道和队列模块基于匿名管道。它提供命名管道吗?

  • Python multiprocessing.sharedctypes 是否支持独立进程 沟通?我认为它只支持父亲和孩子的进程或 兄弟进程通信。

  • 其中哪些仅用于亲子鉴定过程或 兄弟情谊,可以在独立进程之间进行通信 或者不同的主机?

  • 它们各自有什么特点,应该如何选择呢?

提前致谢。


你的问题很广泛,大部分答案都可以在multiprocessing模块文档。

以下是一个简短的答案。

  1. The 多处理侦听器和客户端允许选择命名管道作为传输介质。
  2. 来自文档:

    multiprocessing.sharedctypes 模块提供了从共享内存中分配 ctypes 对象的函数,这些对象可以由子进程继承。

    你不能使用multiprocessing.sharedctypes跨没有父/子关系的进程的功能。

  3. Managers and 听众和客户跨不同主机上的进程或没有父/子关系的进程工作。这AF_INET套接字系列可以在不同的主机上使用。尽管如此,我还是建议不要这样做。而是使用网络套接字或其他一些抽象机制。
  4. 差异和特征在文档.

Python multiprocessing模块最初是在threading蜜蜂。到那时,它支持的功能有所增加,但核心思想保持不变。这multiprocessing模块旨在处理 Python 进程系列。对于任何其他用途,subprocess模块是一个更好的选择。

对于跨多个主机分配任务和作业,有更好的解决方案来抽象低级基础设施。您可以查看 Python 项目,例如Celery or Luigi或更复杂的基础设施,例如阿帕奇梅索斯.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python的Multiprocessing的进程通信 的相关文章

随机推荐

  • 如何在 Macos 中检测新文件或修改过的文件

    在Windows操作系统中 MS提供了ReadDirectoryChangesW和FindFirstChangeNotification API来检测新的或修改的文件 Mac OSX是否也提供相同的功能 在 Mac OS X Leopard
  • React - 如何将参数传递给事件处理程序

    好吧 我是 React 新手 关于事件处理程序的一件事真的非常困扰我 我似乎无法得到关于如何向它们传递参数的直接答案 到目前为止 我看到的有两种方法 Bind props squareClick bind this argument Inl
  • 如何使用 CSS 制作 V 形箭头?

    好的 所以每个人都知道你可以用这个来制作一个三角形 triangle width 0 height 0 border left 50px solid transparent border right 50px solid transpare
  • 在 PDO 查询上设置 group_concat_max_len

    我有以下查询 cases conn gt prepare SELECT GROUP CONCAT text SEPARATOR as texts year FROM cases GROUP BY year ORDER BY ano DESC
  • CardLayout 获取所选卡片的名称

    如何获取卡片布局中所选面板的字符串标识符 CardLayout 不知道当前选择的面板是什么 调用 show 方法时 您应该自己将其保留在内存中
  • 最令人烦恼的解析[重复]

    这个问题在这里已经有答案了 我在这里看到了一个代码Cpp Quiz 问题 38 include
  • 在 CXF wsdl2java 中设置 Java 合规性级别

    我是 CXF 的新手 正在尝试从 WSDL 创建客户端 我过去使用过 Metro 和 Axis 我下载了 apache cxf 2 3 3 并使用 wsdl2java 生成客户端存根 我使用 Maven 并使用以下命令设置我的 pom
  • 创建沙箱 C# [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 有没有关于如何使用 C 创建沙箱的教程 我想定制一款属于我自己的 谢谢 研究使用应用程序域 这是一些代码examples
  • Foreach Razor 内部的 Foreach

    我正在尝试编写一个 foreach 循环 它将找到每个不同的类别类型 然后列出具有该类别分配的每个标题 例如 model IEnumerable
  • MSVC -Wall 中标准标头中的数千条警告是怎么回事?

    有些人似乎建议您使用 Wall 但是当我在一个只有 main cpp 和一些包含的小型测试项目上执行此操作时 我收到了 5800 个警告 其中大多数在标准标头或 Windows 标头中 这是有意的行为吗 如何使我的编译警告不再出现 以下只是
  • 如何升级新版本的 Eclipse 而不是使用新下载的包?

    我正在寻找升级当前 Eclipse 版本的步骤 Mars 到最新版本 Oxygen 因为我过去很长时间以来一直在使用 Mars 所以它包含所有设置 插件和所有历史记录 所以我想保留相同的内容并升级到新版本 这可能吗 注意 它可以是任何类型的
  • 使用什么安装产品? InstallShield、WiX、Wise、高级安装程序等[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我目前正在做一些调查 以放弃我们目前使用的安装包 Wise Installer 9 转而使用可以处理 Windows Vista Windows 7
  • 应用程序在登录时崩溃(xcode 9.3)EXC_BAD_ACCESS(代码=1,地址=0x1)

    我在 9 3 更新上遇到此崩溃 在 9 2 上一切正常 会是什么 通过任何来源 登录通行证 VK 谷歌 登录时都会出现该错误 class AppDelegate UIResponder UIApplicationDelegate GIDSi
  • 如何找出哪些进程锁定了文件夹或文件?

    如何查询正在运行的进程以找出它们锁定了哪些文件夹或文件 即 您要弹出驱动器 但被告知无法弹出它 因为它正在使用中 我想要么获得 现成的 下载 要么编写一个 NET 3 5 应用程序来执行此操作 主要是 Windows 问题 流程浏览器会告诉
  • AVAudioPlayer初始化错误

    我初始化我的 AVAudioPlayer 实例 如下所示 self audioPlayer initWithContentsOfURL url error err url 包含 m4a 文件的路径 调用此行时 控制台中会显示以下错误 错误域
  • 无头/CLI LibGDX

    我正在为一个小型 LibGDX 支持的游戏编写服务器端代码 并且偶然发现了一个问题 每次我尝试使用任何Gdx files 方法 我遇到了NullPointerException 显然这是因为我没有实现 ApplicationListener
  • 如何让服务在睡眠模式下也能运行?

    我有正在实现位置侦听器的服务 现在我的问题是如何确保我的服务即使在睡眠模式下也能捕获位置 我读过有关警报管理器的内容 alarm setRepeating AlarmManager RTC WAKEUP triggerAtMillis in
  • 如何指定 ASP.NET Web API 中需要 JSON 还是 XML?

    本周我编写了两个 ASP NET Web API 应用程序 它们都包含一个简单的控制器 我已经对每一个进行了调整 以使它们能够工作 包括异常等等 但据我所知 它们的配置几乎相同 其中一个返回 JSON 另一个返回 XML 我希望他们都返回
  • 与 pyodbc 的通信链路失败

    import pyodbc import time connection pyodbc connect cursor connection cursor while True time sleep 1 cursor execute INSE
  • Python的Multiprocessing的进程通信

    我了解了Python多进程的Pipes Queues Shared ctypes Objects Managers 我想将它们与Linux的匿名管道 命名管道 共享内存 套接字等进行比较 我现在有以下问题 Python 多处理的管道和队列模