名称 特点
    管道/匿名管道(pipe) 管道的实质是一个内核缓冲区
    有名管道(FIFO) 先进先出(first in first out);
    以有名管道的文件形式存在于文件系统中;
    信号(Signal) 无需知道该进程的状态;
    阻塞进程;
    异步通信;
    消息队列(Message Queue) 放在内核中的消息链表;
    允许一个或多个进程向它写入与读取消息;
    克服了信号承载信息量少缺陷;
    目前主要有两种类型的消息队列:POSIX消息队列以及System V消息队列,系统V消息队列目前被大量使用;
    共享内存(share memory) 使得多个进程可以可以直接读写同一块内存空间,是最快的可用IPC形式;
    由于多个进程共享一段内存,因此需要依靠某种同步机制(如信号量)来达到进程间的同步及互斥;
    信号量(semaphore) 信号量是一个计数器,用于多进程对共享数据的访问,信号量的意图在于进程间同步只能通过两个标准原子操作:wait(semap) , signal(semap) ;进行访问
    信号量是非负整型变量
    操作也被成为PV原语(P来源于荷兰语proberen”测试”,V来源于荷兰语verhogen”增加”,P表示通过的意思,V表示释放的意思)
    套接字(socket) 套接字是支持TCP/IP的网络通信的基本操作单元
    套接字的特性由3个属性确定,它们分别是:域、端口号、协议类型。

    image.png