在进程之间进行通信时,队列优于管道的优势是什么?

时间:2010-02-16 20:03:18

标签: python linux queue multiprocessing pipe

使用2 Queues 而非 Pipe 在进程之间进行通信会有什么优势(如果有的话)?< / p>

我打算使用multiprocessing python模块。

2 个答案:

答案 0 :(得分:11)

最大的好处是队列是进程和线程安全的。管道不是:如果两个不同的进程试图读取或写入管道的同一端,则会发生不好的事情。队列的抽象级别也比管道更高,这在您的特定情况下可能是也可能不是。

答案 1 :(得分:4)

队列保留消息并保留它们,直到下一次队列处于活动状态并推送它...无论管道或连接是否损坏...使用管道/连接,它告别错误消息...

希望这有帮助, 最好的祝福, 汤姆。