这更多是一个设计问题,而不是速度(共享内存速度更快),域套接字明确更多的UNIX风格,并做了很少的问题。在选择方面预先知道:
域套接字的优点
>阻塞和非阻塞模式,并在它们之间切换
>你不必在任务完成时释放它们
域套接字的缺点
>必须以线性方式读写
共享内存优势
>非线性存储
>永远不会阻塞
>多个程序可以访问它
共享内存的缺点
>需要锁定实现
>需要手动释放,即使没有被任何程序使用
这就是我现在想到的。但是,我会使用域套接字任何一天 – 更不用说,它是一个更容易,然后重新实现他们做分布式计算。由于需要安全设计,共享内存的速度增益将会丢失。然而,如果你知道你在做什么,并使用适当的内核调用,你可以实现更大的速度与共享内存。