有名管道

有名管道: 文件系统中可见的一个管道文件,文件属性第一位为p
无名管道和有名管道不同点在于有名管道可以在文件系统中可见。
有名管道在磁盘上只是一个节点,文件的数据存在内存缓存页面中。
  1. //                            _ooOoo_    
  2. //                           o8888888o    
  3. //                           88" . "88    
  4. //                           (| -_- |)    
  5. //                            O\ = /O    
  6. //                        ____/`---'\____    
  7. //                      .   ' \\| |// `.    
  8. //                       / \\||| : |||// \    
  9. //                     / _||||| -:- |||||- \    
  10. //                       | | \\\ - /// | |    
  11. //                     | \_| ''\---/'' | |    
  12. //                      \ .-\__ `-` ___/-. /    
  13. //                   ___`. .' /--.--\ `. . __    
  14. //                ."" '< `.___\_<|>_/___.' >'"".    
  15. //               | | : `- \`.;`\ _ /`;.`/ - ` : | |    
  16. //                 \ \ `-. \_ __\ /__ _/ .-` / /    
  17. //         ======`-.____`-.___\_____/___.-`____.-'======    
  18. //                            `=---='    
  19. //    
  20. //         .............................................    
  21. //                  佛祖保佑             永无BUG   
  22. //          佛曰:    
  23. //                  写字楼里写字间,写字间里程序员;    
  24. //                  程序人员写程序,又拿程序换酒钱。    
  25. //                  酒醒只在网上坐,酒醉还来网下眠;    
  26. //                  酒醉酒醒日复日,网上网下年复年。    
  27. //                  但愿老死电脑间,不愿鞠躬老板前;    
  28. //                  奔驰宝马贵者趣,公交自行程序员。    
  29. //                  别人笑我忒疯癫,我笑自己命太贱;    
  30. //                  不见满街漂亮妹,哪个归得程序员?    


WRITE端:
有名管道_第1张图片
有名管道_第2张图片
READ端:
有名管道_第3张图片
有名管道_第4张图片
有名管道_第5张图片
FIFO服务模型:
有名管道_第6张图片
发送请求,不需要应答:
所有客户端都能访问的的FIFO的文件,每一个客户端都可以向这个管道中写入数据,
为了保持一致性,(同步)加锁.
发送的数据可以以一定的格式进行:
比如一个结构体或一定的格式: pid:fifo:msg;
进行完整通信:
利用多个fifo文件,服务器提供一个总的FIFO,每个客户端有个相关的fifo用来接收服务端的数据。

你可能感兴趣的:(进程间通信)