前面几篇关于Linux进程间通信(单机通信)差不多就告一段落,以后有什么需要补充的再补充。既然写了几篇进程间通信,那么今天我们就来总结总结,比较一下这几种通信方式,看看在什么样的情况下适用于什么样的通信方式。这篇就不具体写函数实现和具体的参数了,大家可以在前面几篇看。
第一种通讯方式:管道
在内存中创建一个管道,它不属于任何区域或进程。
有名管道:应用于任意两个进程之间数据的单向传递。
无名管道:相对于有名管道而言的,无名管道在使用时产生,不使用后释放,并不会在系统上留下痕迹。无名管道因其使用前没有任何标识,所以它只能应用于父子进程之间。
注:因为管道是半双工通讯,而无名管道创建后,父进程在fork产生子进程后,两个进程分别有一对读写,所以要在父子进程中分别关闭读或写。
第二种通讯方式:信号量
信号量作用:进程间同步控制(用于多进程访问临界资源&#