1. 程式人生 > >進程間通信——消息隊列

進程間通信——消息隊列

如果 blank sof 標識 tro 相同 聯系 ron 流浪

1. IPC標識符:

  每一個I P C目標都有一個唯一的I P C標識符。這裏所指的I P C目標是指一個單獨的消息隊列、一個信號量集或者一個共享的內存段。系統內核使用此標識符在系統內核中指明 I P C目標。

2. IPC 關鍵字:

  想要獲得唯一的標識符,則必須使用一個 I P C關鍵字。客戶端進程和服務器端進程必須雙方都同意此關鍵字。這是建立一個客戶機/服務器框架的第一步。在System V IPC機制中,建立兩端聯系的路由方法是和I P C關鍵字直接相關的。通過在應用程序中設置關鍵字值,每一次使用的關鍵字都可以是相同的。一般情況下,可以使用f t o k ( )函數為客戶端和服務器端產生關鍵字值。

3. 消息隊列特點:

  消息隊列是一個由系統內核負責存儲和管理,並通過消息隊列標識符引用的消息鏈表。相較於其它幾種IPC機制,消息隊列具有明顯的優勢:

  1)流浪控制:如果系統資源(內存)緊張或接收消息的進程來不及處理隊列中的消息,則發送消息的進程會在內核的控制性進入休眠,待條件滿足再被

         喚醒繼續發送消息;

  2)面向記錄:以一個消息為單位發送,一個消息一個消息的發送(接收),從結構上保持了消息的完整性;

  3)類型過濾:按消息的類型提取隊列中的消息;

  4)天然同步:空隊列不可讀,滿隊列不可寫,不發則不收。

https://en.wikipedia.org/wiki/Message_queue

http://www.cnblogs.com/lpshou/p/3145651.html

進程間通信——消息隊列