使用多处理模块在进程之间传递消息

Posted

技术标签:

【中文标题】使用多处理模块在进程之间传递消息【英文标题】:Message passing between processes using multiprocessing module 【发布时间】:2013-02-28 07:08:39 【问题描述】:

将消息从工作进程发送到另一个随机选择的(工作或主)进程的推荐方式是什么?我能想到的一种方法是使用Pipes,但由于它只能在两个选定进程之间创建管道,因此我需要为每个进程对创建一个管道。这似乎不太实用。我想要的是在进程之间创建一个完整的图表并随机选择其中一个管道。

【问题讨论】:

当进程关系是父/子时,管道很有用。否则使用共享内存。如果消息只是某个事件的信号,则使用 Linux 信号。 您使用哪种 IPC,取决于您的需要! 【参考方案1】:

您可以通过在队列中维护一些约定来使用队列来在您的进程之间进行通信。您可以找到有关使用队列here 的详细信息。

P.S :- 如上所述 here 队列是线程和进程安全的。

【讨论】:

@polerto 如果您认为答案正确,请将其标记为正确。

以上是关于使用多处理模块在进程之间传递消息的主要内容,如果未能解决你的问题,请参考以下文章

python并发编程:多进程-队列

python—多进程的消息队列

7.2.6 - 并发多线程 队列

1-6 队列

并发编程(队列)

Python 3 并发编程多进程之队列(推荐使用)