<p id="5vvtt"><ruby id="5vvtt"><mark id="5vvtt"></mark></ruby></p><p id="5vvtt"></p>

    <p id="5vvtt"></p>
    <ruby id="5vvtt"><b id="5vvtt"></b></ruby>

          <ruby id="5vvtt"></ruby>

          <ruby id="5vvtt"><mark id="5vvtt"></mark></ruby>

            進程間的通信方式

            瀏覽量:161
            時間: 2024-01-31 11:34:23

            管道 

            管道是?種把兩個進程之間的標準輸入和標準輸出連接起來的機制,可分為?名管道和有名管道,?于 具有親緣關系進程間的通信。有名管道克服了沒有名字的限制,因此允許?親緣關系進程間的通信。

            特點

            ①只能在有親緣關系的進程之間進?通信,也就是在??進程之間通信 ②單向通信,?個讀端,?個寫端。如果要雙向通信就要建立兩個管道 ③接收數據流,與數據格式?關 ④?般??,進程退出時管道即被釋放,因此管道的?命周期會隨進程的關閉?消亡 ⑤同步互斥原則,內核會對管道操作進?同步和互斥 

            ?名管道參考 

            有名管道讀操作參考 

            有名管道寫操作參考


            信號

            信號機制是UNIX系統中最為古老的進程之間通信機制。它?于?個進程或多個進程之間傳遞異步信號, 來通知進程有某種事件發?,除了?于進程間通信外,使?信號還可以使進程發送信號給進程本?。信號參考 


            消息隊列 

            消息隊列是內核地址空間中的消息的鏈表,通過Linux內核在進程之間傳遞內容。消息順序地發送到消息 隊列中,并以?種不同的?式從隊列中獲取,每個消息隊列可以?IPC標識符唯?的進?標識。不同的消 息隊列之間是相互獨立的,每個消息隊列中的消息構成?個獨立的鏈表。有寫權限的進程可以對消息隊 列添加消息,有讀權限的進程可以對消息隊列讀取信息 

            特點

            ①消息隊列克服了信號承載信息量少,管道只能承載?格式字節流以及緩沖區??受限的缺點。 消息隊列 是基于消息的,?管道是基于字節流的,且消息隊列的讀取不?定先入先出 

            ②消息隊列中每個消息的最??度是有上限的,每個消息隊列的總的字節數也是有上限的,系統 上消息隊 列的總數也有?個上限

            消息隊列讀參考 

            消息隊列寫參考 


            共享內存 

            共享內存是在多個進程之間共享?塊內存區域的?種進程間的通信?式,它是通過在多個進程之間對內 存段進?映射的?式來實現共享內存的,是進程間通信最快捷的?式,之所以最快,是因為共享內存? 式的通信沒有中間過程,?管道、消息隊列等?式則是需要將數據通過中間機制進?轉換。共享內存往 往與其他通信機制(如信號量)結合使?,來達到進程間的同步及互斥

            特點

            ①共享內存就是允許兩個不相關的進程訪問同?個內存 ②共享內存是兩個正在運?的進程之間共享和數據的最有效的?式 ③共享內存不提供任何互斥和同步機制,?般?信號量對臨界資源進?保護 ④不同進程之間共享的內存通常安排為同?段物理內存 


            共享內存讀參考 

            共享內存寫參考


            信號量 

            信號量是?種計數器,?來控制對多個進程共享的資源所進?的訪問,它們常常被?作?個鎖機制,在 某個進程正在對特定資源進?操作時,信號量可以防?另?個進程去訪問它。簡單來說就是信號量是? 個特殊的變量,程序對其訪問都是原?操作,且只允許對它進?P(申請)V(釋放)操作


            socket

            最為?般的進程間通信機制???于不同機器之間的不同進程之間的通信 

            image.png

            聲明:本網站所收集的部分公開資料來源于互聯網,轉載的目的在于傳遞更多信息及用于網絡分享,并不代表本站贊同其觀點和對其真實性負責,也不構成任何其他建議。僅供學習交流使用,不構成商業目的。版權歸原作者所有,如果您發現網站上有侵犯您的知識產權的作品,請與我們取得聯系,我們會及時刪除。侵權投訴

            上一篇

            coap
            相關推薦HOT
            static 全局變量與普通的全局變量有什么區別?

            static 全局變量與普通的全局變量有什么區別?static 局部變量和普通局部變量有什么 區別?static 函數與普通函數有什么區別? 全局變量(外... 詳情>>

            2023-09-09 16:44:19
            為什么要配置內核?為何要重新編譯內核?

            內核,是個操作系統的核心。他負責管理系統的進程、內存、設備驅動程式、文件和網絡系統,決定著系統的性能和穩定性,Linux不同發行版、甚至同發行版但不同內核之間... 詳情>>

            2024-03-27 14:58:09
            中間繼電器的工作原理及作用詳解

            中間繼電器是一種常見的電氣元件,廣泛應用于各種電路中,其作用是將信號放大或轉換為另一種形式。在了解中間繼電器的工作原理和作用之前,我們先來了解一下什么是繼電器。... 詳情>>

            2023-09-09 14:36:37
            試簡要說明Linux系統在目標板上的啟動過程?

            用戶打開PC的電源,BIOS開機自檢,按BIOS中設置的啟動設備(通常是硬盤)啟動,接著啟動設備上安裝的引導程序lilo或grub開始引導 Linux,... 詳情>>

            2024-03-27 11:32:57
            技術崗位面試如何與HR談薪

            面試官的級別一般技術面試的模式是n + 1或者是1 + n + 1,什么意思呢?其中n指的是你見到的不同級別的面試官的個數,1指的你見到的hr。兩種模式模式一:... 詳情>>

            2023-09-09 16:38:54
            開班信息
            亚洲精品免费看>>在线免费观看视频>>亚洲精品免费看