進程間通信(IPC,Inter-Process Communication)指至少兩個進程或執行緒間傳送數據或信號的一些技術或方法。
基本介紹
- 中文名:進程間通信
- 外文名:IPC
- 全稱:Inter-Process Communication
- 條件:至少兩個進程或執行緒間
定義作用
- 信息共享:Web伺服器,通過網頁瀏覽器使用進程間通信來共享web檔案(網頁等)和多媒體;
- 加速:維基百科使用通過進程間通信進行交流的多伺服器來滿足用戶的請求;
- 模組化;
- 私有權分離。
- 採用了某種形式的核心開銷,降低了性能;
- 幾乎大部分IPC都不是程式設計的自然擴展,往往會大大地增加程式的複雜度。
主要方法
方法 | 提供方(作業系統或其他環境) |
---|---|
檔案 | 多數作業系統 |
信號 | 多數作業系統 |
Berkeley套接字 | 多數作業系統 |
訊息佇列 | 多數作業系統 |
管道 | 所有的POSIX系統,Windows |
命名管道 | 所有的POSIX系統,Windows |
信號量 | 所有的POSIX系統,Windows |
共享記憶體 | 所有的POSIX系統,Windows |
Message Passing | 用於MPI規範,Java RMI,CORBA,MSMQ,MailSlot以及其他 |
Memory-Mapped File | 所有的POSIX系統,Windows |