当进程之间进行通信时,队列相对于管道有什么优势?
使用 2 个队列有什么好处(如果有的话) 通过管道< /strong> 进程之间进行通信?
我计划使用 multiprocessing
python 模块。
What would be the advantage(s) (if any) of using 2 Queues over a Pipe to communicate between processes?
I am planning on using the multiprocessing
python module.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最大的胜利是队列是进程和线程安全的。管道则不然:如果两个不同的进程尝试从管道的同一端读取或写入,就会发生不好的事情。队列的抽象级别也比管道更高,这在您的具体情况下可能是也可能不是优势。
The big win is that queues are process- and thread- safe. Pipes are not: if two different processes try to read from or write to the same end of a pipe, bad things happen. Queues are also at a somewhat higher level of abstraction than pipes, which may or may not be an advantage in your specific case.
队列保存消息并保留它们,直到下一次队列处于活动状态并将其推送出去...无论管道或连接是否损坏...使用管道/连接,就可以告别带有错误的消息...
Queues hold the messages and retains them until the next time the queue is active and pushes it through...regardless if the pipe or connection is broken...with a pipe/connection, its goodbye to the message with an error...