进程间通信(IPC,Inter-Process Communication)
Table of Contents

    进程间通信(IPC,Inter-Process Communication)指至少两个进程或线程间传送数据或信号的一些技术或方法。

    使用IPC的理由:
    1. 信息共享:Web服务器,通过网页浏览器使用进程间通信来共享web文件(网页等)和多媒体;
    2. 加速:维基百科使用通过进程间通信进行交流的多服务器来满足用户的请求;
    3. 模块化;
    4. 私有权分离。
    与直接共享内存地址空间的多线程编程相比,IPC的缺点:
    1. 采用了某种形式的内核开销,降低了性能;
    3. 几乎大部分IPC都不是程序设计的自然扩展,往往会大大地增加程序的复杂度。

    主要方法编辑

    方法 提供方(操作系统或其他环境)
    文件 多数操作系统
    信号 多数操作系统
    Berkeley套接字 多数操作系统
    消息队列 多数操作系统
    管道 所有的POSIX系统,Windows
    命名管道 所有的POSIX系统,Windows
    信号量 所有的POSIX系统,Windows
    共享内存 所有的POSIX系统,Windows
    Message Passing 用于MPI规范,Java RMI,CORBA,MSMQ,MailSlot以及其他
    Memory-Mapped File 所有的POSIX系统,Windows

    如果你觉得这篇文章对你有帮助,不妨请我喝杯咖啡,鼓励我创造更多!