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