当前位置 : 主页 > 编程语言 > python >

python中多进程下通信使用管道Pipe与队列 Queue 的区别: Multiprocessing - Pipe vs Q

来源:互联网 收集:自由互联 发布时间:2022-06-15
参考: ​​https://stackoverflow.com/questions/8463008/multiprocessing-pipe-vs-queue​​ ========================================================= 区别: A ​​Pipe()​​ can only have two endpoints. A ​​Queue()​​ can

参考:

​​https://stackoverflow.com/questions/8463008/multiprocessing-pipe-vs-queue​​

=========================================================

区别:

  • A ​​Pipe()​​ can only have two endpoints.
  • A ​​Queue()​​ can have multiple producers and consumers.

When to use them

If you need more than two points to communicate, use a ​​Queue()​​.

If you need absolute performance, a ​​Pipe()​​​ is much faster because ​​Queue()​​​ is built on top of ​​Pipe()​​.

-----------

结论:

In summary ​​Pipe()​​​ is about three times faster than a ​​Queue()​​.

Queue 的底层是使用Pipe来实现的,或者说Queue是对Pipe的进一步包装,所以性能上有所下降,按照上面的参考资料显示速度降为了Pipe的3分之一,但是Queue支持的功能更加广泛,所以使用Pipe还是Queue要综合考虑性能要求及功能需求。


上一篇:python库 —— gym retro 的 ROMs文件下载地址
下一篇:没有了
网友评论