1.进程间通信方式综合比较
优点 | 缺点 | |
---|---|---|
有名管道 | 1)任意进程间通信 | 1)缓冲区有限 |
无名管道 | 1)简单方便 | 1)单向通信 2)父子进程间通信 3)缓冲区有限 |
消息队列 | 1)任意进程通信 2)无需考虑进程间同步 | 1)消息复制额外消耗CPU时间,不适合消息量大,操作频繁的情况 |
共享内存 | 1)直接访问内存,无需复制,快捷 | 1)进程间读写操作需要额外同步(常用信号量、互斥锁) 2)利用内存缓冲区交换信息,只能一个计算机中的多进程共享 |
信号量 | 1)可以同步进程 2)系统负责记录信号量个数,不像条件变量一样,会存在唤醒丢失等问题 | 1)信号量有限 |
socket | 1)性能高、安全性高,传输自定义 2)跨计算机进行通信 | 1)需对传输的数据解析,转换成应用级的数据 |
五种进程间通信汇总,必看!!!!!!!!!!!!!
Linux多进程通信(1)——无名管道及有名管道使用例程
Linux多进程通信(2)——POSIX信号量使用例程
Linux多进程通信(2)——POSIX信号量使用例程
Linux多进程通信(4)——消息队列从入门到实战!