进程间通信简介

进程间通信IPC(interprocess communication):

描述的是运行在某个操作系统之上的不同进程间各种消息传递方式。


POSIX:

可移植操作系统接口(portable operation system interface),由电气与电子工程师学会IEEE开发的一系列标准。


消息传递方式:

管道(pipe):可在进程 和 shell 中使用,无名管道只能在共同祖先的进程间使用。管道普遍用于shell中,也可以在程序中实现子进程向父进程回传信息。

有名管道(named pipe)即FIFO可在无共同祖先的进程间使用。(名字空间:当多个无亲缘关系的进程使用某种类型的IPC对象来彼此交换信息是,该IPC对象必须有一个某种形式的名字或者标识符。)

posix消息队列:可在同一主机上有亲缘关系和无亲缘关系的进程间使用。(亲缘关系是指这些进程具有共同的祖先。)

远程过程调用(RPC):可在不同/相同主机上客户程序与服务器程序之间传递消息。


同步形式(防止多个进程同时修改同一文件):

记录上锁:

posix信号量:

posix共享内存区:

互斥锁和条件变量:

读写锁:


进程间信息共享方式:



进程与线程区别:

每个进程都有各自的地址空间。

一个给定进程内的所有线程共享同样的全局变量。


IPC对象持续性:

任意IPC对象的持续性定义:该类型的一个对象一直存在多长时间。

有三种类型的持续性:




三种交互模式:

文件服务器:客户向服务器发送一个路径名,服务器将该文件内容返还给客户。

生产者-消费者:某一或多个线程或进程(生产者)将数据放到一个共享缓冲器,另一个或多个线程或进程(消费者)对该缓冲区中数据进行操作。

序列号持续增1:一个或多个线程或进程将一个共享的序列好持续增1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值