程序間通訊方式總結(windows 和linux)

2021-07-25 23:48:31 字數 1286 閱讀 2911

一般我們寫的程式都是以單個程序的方式來執行的,比較少涉及到多程序。特別是在windows下,因為windows是按照執行緒來分配cpu時間片的,執行緒是最小的排程單位,所以在windows下更多的用到多執行緒,在同乙個程序裡建立多個執行緒來執行不同的任務,達到充分利用cpu的目的。執行緒之間可以共享程序的資源,比如記憶體、變數,但是多執行緒有乙個不好的地方,由於這些執行緒是在同乙個程序空間裡執行,所以

只要乙個執行緒崩潰,整個程序也就崩潰了

,程式就退出了。多程序由於是在不同的程序空間裡,乙個程序崩潰,不會影響到其它的程序,但是程序之間要交換資訊的話,就比較麻煩了,不像多執行緒可以簡單的通過乙個全域性變數來通訊。為了解決程序間交換資訊的問題,所以作業系統提供了程序間通訊(

ipc)的技術。

現在將linux

windows

的程序間通訊方式好好總結一下:

windows的程序間的通訊方式有:

1. 檔案對映

2. 共享記憶體(是檔案對映的一種特殊情況)

3. 郵槽(mailslot)

(訊息佇列

messagequeue

)4. 匿名管道

5. 命名管道

6. 剪貼簿

7. 動態資料交換

8. 物件鏈結與嵌入

9. 遠端過程呼叫(rpc)-thrift

10. 動態鏈結庫

11. 套接字(socket) 

12. wm_copydata

linux程序間通訊的方式有:

1. 管道 

2. 訊號

3. 共享記憶體 

4. 訊息佇列(

messagequeue

)

5. 套接字(socket) 

6. 訊號

windows和linux共有的程序間通訊方式:

1. 訊息(linux中叫做訊號) 

2. 共享記憶體  

3. 郵槽 (訊息佇列messagequeue)

4. 管道   

5. 套接字(socket)

程序間通訊方式總結

一 linux系統程序間通訊的方式 二 windows程序間通訊的各種方法 程序是裝入記憶體並準備執行的程式,每個程序都有私有的虛擬位址空間,由 資料以及它可利用的系統資源 如檔案 管道等 組成。多程序 多執行緒是windows作業系統的乙個基本特徵。microsoft win32 api 提供了大...

程序間通訊方式總結

而對unix發展做出重大貢獻的兩大主力at t的貝爾實驗室及bsd 加州大學伯克利分校的伯克利軟體發布中心 在程序間通訊方面的側重點有所不同。前者對unix早期的程序間通訊手段進行了系統的改進和擴充,形成了 system v ipc 通訊程序侷限在單個計算機內 後者則跳過了該限制,形成了基於套介面 ...

程序間通訊方式總結

至 linux下的程序間通訊手段,程序間通訊 inter process communication 簡稱ipc 1.管道 pipe 以及有名管道 named pipe 管道可用於具有親緣關係程序間的通訊,有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關係程序間的通...