PYTHON中的套接字与多处理.Connection.Listener
问题描述
我知道在Python中实现IPC
有不同的方法,比如Pipes
和Queue
;但根据Python的官方文档,还有一种替代方法,称为Listener and Client。
multiprocessing.connection.Listener
与socket
非常相似,并且都具有相同的功能,如accept()
、close()
、send()
和recv()
。那么,如果我们仅关注IPC用途,这两个模块之间有什么不同?
哪一个更有效率?
解决方案
插座系列
我查看了cpython on github,multiprocessing.connection.Listener
使用socket
标准库,只有一个主要的不同点:插座系列。
Listeners
支持这些家庭进行交流:
AF_PIPE
-命名管道AF_INET
-tcp套接字AF_UNIX
-Unix域套接字
Python的标准socket
库对AF_INET
和AF_UNIX
的支持很好,可以肯定地说,主要的区别在于AF_PIPE
家族。
相关文章