如何使用python信号在独立进程之间发送消息?
问题描述:
我有两种类型的进程。如何使用python信号在独立进程之间发送消息?
我希望进程B
等待来自进程A
的消息。一旦A
发送消息,进程B
应处理消息并再次等待。
此外,我将有多个进程A
和进程B
的实例。因此,所有B
进程都应将消息发送到所有A
进程。
我在看像signals
,但附带一个字符串。
这样做的最好方法是什么?
我知道我可以创建一个pipe
并继续阅读pipe
在while
,但它似乎无益。另外,一旦阅读,它会不会从pipe
中删除?
注意:没有一个进程是彼此的子进程。
答
这是我结束了在最后做...
的制造生产加工成module
并将其导入到消费者。因此,这两个过程都可以共享变量。
生产者线程将继续生产,消费者线程将继续消耗。我正在使用condition
来同步数据,threading.Condition()
。
每个生产者线程:
- 采集
condition
- 将数据写入到一个全局变量
- 呼叫
notifyAll()
- 发布
condition
每个消费者线程:
- 采集
condition
- 等待
condition
- 读取和处理数据的全局变量
- 等待
condition
...
这仅仅是一个高层次视图。就我而言,我有不同类型的生产者线程,每个生成不同的数据并且针对特定的消费者群体。所以,我有一个list of condition
。
进程'A'和'B'如何知道对方? –
他们没有。但是如果有帮助的话,我可以让所有'A'进程在某处注册它们的线程标识。 – ATOzTOA