名称 | 特点 |
---|---|
管道/匿名管道(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个属性确定,它们分别是:域、端口号、协议类型。 |