进程同步与进程通信

进程同步与进程通信

ID:20053892

大小:396.50 KB

页数:73页

时间:2018-10-08

进程同步与进程通信_第1页
进程同步与进程通信_第2页
进程同步与进程通信_第3页
进程同步与进程通信_第4页
进程同步与进程通信_第5页
资源描述:

《进程同步与进程通信》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、进程同步与进程通信进程的并发性每一个进程具有顺序性,但是在多道程序设计系统中,多个进程要竞争,轮流占用处理器。有两个进程A和B,它们各自顺序执行时的操作序列如下:进程A:a1,a2,a3,…,am进程B:b1,b2,b3,…,bm在多道程序设计系统中,处理器可能执行的操作序列a1,b1,a2,b2,a3,b3…a1,a2,b1,a3,b2,b3…进程的并发性在一个进程的工作没有完成之前,另一个进程就可以开始工作,这些进程就称为可同时执行的。或者称它们具有并发性,并且把可同时执行的进程称为并发进程。进程的并发性如果一个进程的执行不影响另一个进程的执行结果,也不依赖一个进程的进展情况,即它们

2、是各自独立的,则称这些进程相互之间是无关的。如果一个进程的执行要依赖其他进程的进展状况,或者可能会影响其他进程的执行结果,则说这些进程是有交互的。并发进程之间的关系进程互斥多个进程不能同时使用同一个资源,某个进程使用该资源时,其他进程必须等待。进程同步多个进程的调用存在时序关系,某些进程的执行必须先于另一些进程。进程通信多个进程之间传递消息。与时间有关的错误对于有交互的并发进程来说,并发会破坏“封闭性”和“可再现性”例1:航班售票系统processPi(i=1,2,…)beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票

3、已售完“end;Ak代表某天某次航班的剩余票数;Pi代表售票处理进程;Ri是每个售票进程的私有变量;各个售票处进程的工作如右边代码所示:processP2beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;processP3beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;Ri=5假设某时刻Ak为5,A、B两个人同时在2号3号窗口买票processP2beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-

4、1;Ak=Ri输出一张票;end;else输出”票已售完“end;processP3beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;Ri=5假设某时刻Ak为5,A、B两个人同时在2号3号窗口买票processP3beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;processP2beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;Ri

5、=5假设某时刻Ak为5,A、B两个人同时在2号3号窗口买票processP2beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;processP3beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;Ri=5假设某时刻Ak为5,A、B两个人同时在2号3号窗口买票processP3beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;proces

6、sP2beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;Ri=4假设某时刻Ak为5,A、B两个人同时在2号3号窗口买票processP2beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;processP3beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;Ak=4假设某时刻Ak为5,A、B两个人同时在2号3号窗口买票processP2b

7、eginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;processP3beginRi:=Ak;ifRi>=1thenbeginRi:=Ri-1;Ak=Ri输出一张票;end;else输出”票已售完“end;Ri=4假设某时刻Ak为5,A、B两个人同时在2号3号窗口买票processP3beginRi:=Ak;ifRi>=1thenbeginRi:=Ri

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。