Linux之前驱并发题解

这里我理解了比较久,重点可能还是这个题目理解不是很清楚,先上一些简单的原理:程序顺序执行的特征① 顺序性指处理机严格地按照程序所规定的的顺序执行。② 封闭性指程序在封闭的环境下运行,即程序运行时独占全机资源(没有其它程序一起共享),资源的状态只有本机才能改变。③ 可再现性只要程序执行时的环境和初始条件相同,当程序重复执行时,都可获得相同的结果。程序并发执行时的特征(注意是“程序”,不是“进程”!!!我刚学时就搞混了)① 间断性也就是一个程序的整个执行过程是“走走停停”的,由于共享资源,.
摘要由CSDN通过智能技术生成

在这里插入图片描述
这里我理解了比较久,重点可能还是这个题目理解不是很清楚,先上一些简单的原理:

程序顺序执行的特征

① 顺序性
指处理机严格地按照程序所规定的的顺序执行。

② 封闭性
指程序在封闭的环境下运行,即程序运行时独占全机资源(没有其它程序一起共享),资源的状态只有本机才能改变。

③ 可再现性
只要程序执行时的环境和初始条件相同,当程序重复执行时,都可获得相同的结果。

程序并发执行时的特征(注意是“程序”,不是“进程”!!!我刚学时就搞混了)

① 间断性
也就是一个程序的整个执行过程是“走走停停”的,由于共享资源,这些并发的程序相互制约,有时需要进行等待,造成了 “执行——暂停——执行” 的间断性活动规律。

② 失去封闭性
由于并发的程序之间共享系统资源,导致其中任一程序在运行时,其环境都必然会收到其它程序的影响,所以就失去了运行环境的封闭性。

③ 不可再现性
程序在并发执行时,由于失去了封闭性,从而也失去了不可再现性。换句话说,程序在多次执行后,虽然它们执行的环境和初始条件是相同的,但得到的结果却各不相同。
比如 A 和 B 两个程序共享变量N,A 中会让 N+1 ,B 中会让 N=0 。那么 N 最后的数值肯定跟 A 和 B 执行的情况(比如执行顺序什么的)有关系。

之后我们再聊聊所谓的前驱并发,

群上说人话就是,在满足前驱的基础上能够执行。

如下图:
在这里插入图片描述
(这是借用了别人的图),
P1、P2执行之后才能到P4。

之后言归正传,我们开始解题:
通过题目我们先画出对应前驱图
在这里插入图片描述

开始对选项进行分析,这里我只分析A、B、C,其他的都是一个道理。
在这里插入图片描述
我们先看A,从前驱的基础上达到并发,有了S1才有S2、S3,所以这是不满足并发的。

​ B,S3、S4的前驱都是S1,S5的前驱是S1->S2,从图易知,S1是S2的前驱,所以是能到达S5的所以满足并发。

我们再举个例子,

​ C,S5的前驱是S2,S6的前驱是S2,S3前驱条件都是可以满足的,看S7,前驱只满足了S5,S6所以三者不能达到并发要求。

总结:这道题其实就是根据前驱,并发的知识点通过选项进行判断,还有最好是能写出如上面那个伪代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值