unix中的多播IPC选项



在以下IPC选项列表中,可以执行多播(即1个发送器和多个接收器):

  • 信号
  • 半双工管
  • 命名管道
  • 系统V消息队列
  • unix域套接字

编辑

  • 内存映射文件

根据我的理解,这可能与命名管道有关(不确定)。

没有什么比多播在概念上更灵活的了,但有一些限制,一些设施可能会做你想做的事。

信号可以被传递到过程组。你列出的其他IPC机制有一个发送方/接收方模型,不适合多播,除了@Barmar在评论中指出的Linux的多播AF_UNIX套接字等本地扩展。

如果您只需要向子进程发送一个"信号",并且只发送一次,则可以使用继承的fifo。所有接收器都继承fifo的读取端,但不继承写入端。持有写端的进程在某个时刻关闭它,并且所有接收器将在其读端副本上检测到EOF。

最新更新