程序間通訊(個人總結)

2021-06-18 11:43:34 字數 732 閱讀 4694

對於程序間通訊(interprocess communication )的幾種機制,我在前面都是零散的歸納,並且寫出了每種機制的使用方法,但是沒有系統的進行過歸類。最近在一位學長的推薦下,通過閱讀外文資料,腦海裡對於這方面的知識真是清晰了許多,我覺得有必要跟大家分享一下。

1.首先對於程序間通訊工具的分類:

unix下的通訊和同步工具,按照功能上劃分,大致分為以下幾類:

(1)通訊類:這些工具是用來程序間交換資料。

(3)訊號類:訊號通常用於某些特定的目的,也可以在一些特定的情況下解決同步問題。

在書上看到的總結歸類圖,寫的非常地詳細。

通訊類工具包含,資料傳輸(data transfer)和shared memory(共享記憶體)。資料傳輸下包含了(1)位元組流(byte stream):pipe,fifo,stream socket;(2)pseudoterminal();(3)message(訊息):system v message queue,posix message queue,datagram socket;

訊號類工具包含,standard signal和realtime signal。

同步類工具包含了(1)semaphore:system v semaphore,posix semaphore(其中又包含命名的和未命名的)。(2)檔案鎖(file lock)。(3)mutex(互斥量)(4)條件變數(condition variable)

互斥量和條件變數適用於執行緒之間解決同步性的問題。

C UDP打洞通訊個人總結

1 為什麼要udp打洞 現在大多數電腦上網都是通過路由器分配的網路進行上網的,當其中一台電腦請求網路時,路由器中的nat軟體會給這台電腦分配乙個隨機的埠號並將內網ip轉換為公網ip,提供與外部網路的通訊,當不是同乙個區域網 不同路由器使用者 路由器使用者和貓使用者 中的兩台電腦相互請求通訊時,由於不...

udp通訊個人理解

udp通訊的特點 1.是無連線的通訊協議,不需要經過listen acccept.2.如果接收端比傳送端速率要慢,udp會儲存一段時間的資料 大約1s 其餘資料會扔掉.3.相對於tcp,udp更加高效,當然不夠安全.4.收發雙方不需要握手,如果一定需要,可以在應用層設定.udp的步驟相對簡單 1.配...

Android程序間通訊Binder個人理解記錄

service元件向servicemanager註冊,並實現具體業務,當有client請求時返回乙個可傳輸資料的額ibinder物件實體 client客戶端通過context.bindservice 和servicemanager通訊查詢需要呼叫的服務是否註冊。serviceconnection聯結...