共享内存和unix管道之间的区别?

bun*_*nty 4 unix terminology

UNIX编程中共享内存管道之间的主要区别是什么?

Sac*_*hag 5

摘自本文

(未命名)管道

  • 可以在阻止和非阻止模式之间切换
  • 完成后不必释放它们
  • 由孩子自动继承
  • 必须以线性方式读写

共享内存

  • 可以存储结构
  • 永远不会阻止-积极
  • 可以根据需要让任意数量的程序对其进行读写
  • 永远不会阻止-负面:必须使用信号量或您自己的自旋锁
  • 即使所有程序退出,也有可能无法释放它