Linux进程全解11——进程间通信(IPC)概述
生活随笔
收集整理的這篇文章主要介紹了
Linux进程全解11——进程间通信(IPC)概述
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以下內容源于朱有鵬《物聯網大講堂》的課程學習整理,如有侵權,請告知刪除。
1、為什么需要進程間通信?
(1)進程間通信(IPC)
- 指的是2個任意進程之間的通信。
(2)同一個進程在一個地址空間中
- 同一個進程的不同模塊(不同函數、不同文件)之間的通信很簡單
- 很多時候都是全局變量、也可以通過函數形參實參傳遞)。
(3)2個不同的進程處于不同的地址空間,因此要互相通信很難。
2、什么樣的程序設計需要進程間通信
(1)99%的程序不需要考慮進程間通信- 因為大部分程序都是單進程的(可以多線程);
(2)復雜、大型的程序
- 因為設計的需要,必須設計成多進程程序(即設計成(多個進程同時工作來完成任務)的模式),常見的如GUI、服務器。
(3)結論:IPC技術在一般中小型程序中用不到,在大型程序中才會用到。
3、linux內核提供多種的進程間通信機制
(1)無名管道和有名管道(2)SystemV IPC:信號量、消息隊列、共享內存
(3)Socket域套接字
(4)信號
4、IPC的應用范圍
(1)日常使用少,只有大型程序才能用上;(2)更為復雜,屬于linux應用編程中難度最大的部分;
(3)細節多;
(4)面試較少涉及,對找工作幫助不大;
(5)建議后續深入學習時再來實際寫代碼詳細探討
總結
以上是生活随笔為你收集整理的Linux进程全解11——进程间通信(IPC)概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库开发综合案例——仓库管理系统设计
- 下一篇: linux 其他常用命令