美文网首页
IPC(InterProcess Communication进程

IPC(InterProcess Communication进程

作者: Polarpole | 来源:发表于2017-09-10 19:16 被阅读0次

    IPC(InterProcess Communication进程间通信)分两种,一种是进程发起的,短暂的通信;一种是系统提供的,持续的通信。

    首先要提一下,unix C创建进程的方式。使用fork函数,复制当前进程的所有状态甚至内存。

    第一种IPC有两种常见的方式。Pipe和FIFO。
    1.Pipe管道。在进程复制之前,向系统申请一个pipe(管道);在进程复制之后,两个进程都能获得管道的句柄,从而进行通信。

    2.FIFO。进程之间通信,还能通过对文件操作的方式。如果这个文件存在于内存之中,效率问题自然也被解决了。

    第二种IPC被称为System V IPC有三种常见的方式。Message Queue,Semaphore和Shared Memory。
    3.Message Queue消息队列。一个进程向系统的消息队列存放数据,其他进程获取这些数据。

    4.Semaphore信号量。多个进程监听一个信号量时,当一个信号量被释放后某个获得信号量的进程将被激活,监听中的进程则继续等待信号量被其他进程释放。

    5.Shared Memory共享存储。一个进程向系统申请一片共享存储的空间,当有的进程获得共享存储空间的句柄,则可以通过句柄使用那一段空间。

    相关文章

      网友评论

          本文标题:IPC(InterProcess Communication进程

          本文链接:https://www.haomeiwen.com/subject/wsrtsxtx.html