進程間通信(IPC, Inter-Prpcess Communication)
至少兩個進程或線程間 傳送數據或信號 的一些技術或方法。進程是計算機系統分配資源的最小單位。每個進程都有自己的一部分獨立的系統資源,彼此是隔離的。爲了能使不同的進程互相訪問資源並進行協調工作,纔有了進程間通信。這些進程可以運行在同一計算機上或網絡連接的不同計算機上。
進程間通信技術包括消息傳遞、同步、共享內存和遠程過程調用。IPC是一種標準的Unix通信機制。
目前有下面一些進程間通信的方式:
- 命名和匿名管道 Pipe
- 信號標 Semaphore
- 互斥子 Mutex
- 共享內存 Shared Memory
- 消息隊列 Message Queue
- 文件系統
- CORBA 公共對象請求代理結構(Common Object Request Breaker Architecture)
- D-Bus
下列方式只適合特定的操作系統平臺或特定的編程語言
微軟Windows
- COM 組件對象模型(Component Object Model)
- COM+
- DCOM 分佈式組件對象模型(Distributed Component Object Model)
- OLE 對象鏈接和嵌入(Object Linking and Embedding)
有人認爲這些也可以算是進程間通信的方式
- 剪貼板 Clipboard
- 人本身