共享内存 可以说这是最有用的进程间通信方式。它使得多个进程可以访问同一块内存
空间,不同进程可以及时看到对方进程中对共享内存中数据得更新。这种方式 需要依靠某种同步操作,如互斥锁和信号量等。消息队列
“消息队列”是在消息的传输过程中保存消息的容器。具有写权限得进程可以按照一定得规则向消息队列中添加新信息;对消息队列有读权限得进程则可 以从消息队列中读取信息。消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。信号
信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。信号量
信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因 此,主要作为进程间以及同一进程内不同线程之间的同步手段。套接字
这是一种更为一般得进程间通信机制,它可用于网络中不同机器之间的进程 间通信,应用非常广泛。无名管道
普通管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有 父子关系的进程间使用。有名管道
有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。高级管道通信
高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。
进程间的通信方式(IPC)
最新推荐文章于 2022-10-03 21:58:51 发布