• 您現在的位置是:首頁 >生活 > 2023-09-14 11:18:16 來源:

    進程間通信的幾種方法(進程間通信方式)

    導讀 大家好,我是小夏,我來為大家解答以上問題。進程間通信的幾種方法,進程間通信方式很多人還不知道,現在讓我們一起來看看吧!1、進程間通...

    大家好,我是小夏,我來為大家解答以上問題。進程間通信的幾種方法,進程間通信方式很多人還不知道,現在讓我們一起來看看吧!

    1、進程間通信主要包括管道, 系統IPC(Inter-Process Communication,進程間通信)(包括消息隊列,信號,共享存儲), 套接字(SOCKET).

    2、管道包括三種:

    3、1)普通管道PIPE, 通常有兩種限制,一是單工,只能單向傳輸;二是只能在父子或者兄弟進程間使用.

    4、2)流管道s_pipe: 去除了第一種限制,為半雙工,可以雙向傳輸.

    5、3)命名管道:name_pipe, 去除了第二種限制,可以在許多并不相關的進程之間進行通訊.

    6、--》管道、有名管道

    7、管道是單向的,先進先出,提供了簡單的流控制,進程讀空管道或者寫滿管道,都將造成進程阻塞

    8、管道包括無名管道和有名管道,前者用于父子間進程通信,后者用于任意兩個進程間通信

    9、--》信號

    10、信號產生的條件:按鍵、硬件異常、進程調用kill函數將信號發送給另一個進程、用戶調用kill命令將信號發送給其他進程,傳遞的消息比較少,主要是通知消息

    11、--》消息隊列

    12、一個消息鏈表,可以把消息看作一個記錄,具有特定的格式,進程可以向隊列中添加消息或者讀走消息,有緩沖區

    13、--》共享內存

    14、共享內存就是映射一段可以被其他進程訪問的內存,這段共享物理內存由一個進程創建,但是多個進程都可以訪問,共享內存是進程間共享數據的一種最快的方法

    15、--》信號量

    16、主要用于保護臨界資源,進程可以根據它來判斷是否能夠訪問某些公共資源,除了用于反復問控制外,還可以用于進程同步,相當于計數器

    17、--》套接字

    18、可以用于不同進程間的通信。

    19、流式套接字:提供可靠的,面向連接的通訊流

    20、數據包套接字:定義一種無連接的服務,通過相互獨立的報文進行傳輸,是無序的

    21、原始套接字:用于新的網絡協議的測試

    本文到此講解完畢了,希望對大家有幫助。

  • 成人app