其他分享
首页 > 其他分享> > 软考-前驱图PV操作

软考-前驱图PV操作

作者:互联网

 

技巧:

1. 按从P1到P5的顺序分析

2. 箭头指向一端是P操作,另一端是V操作

分析:

先从P1出发,P1->P2的信号量用S1标示,

再从P2出发,P2->P3之间是S2,P2->P4之间是S3

同理可得

P3->P5之间是S4

P4->P5之间是S5

又因 箭头指向一端是P操作,另一端是V操作,所以对于S1来说 a处是V(S1),b处有对应的P(S1)

对于S2来说 c处有V(S2),d处有P(S2),

对于S3来说 c处有V(S3),f处有P(S3),

对于S4来说 e处有V(S4),g处有P(S4),

对于S5来说 已有V(S5),g处有P(S5),

综上所说

a处:V(S1)

b处:P(S1)

c处:V(S2),V(S3)

d处:P(S2)

e处:V(S4)

f处:P(S3)

g处:P(S4),P(S5)

 

技巧

消费者要等待生产者生产出产品才可以往下执行,因此消费进程的第一步肯定是P操作且信号量S大小为0;
生产者在生产结束后,要唤起消费者从缓冲区中取产品,因此生产进程最后一步肯定是V操作,且信号量名称要与第一步保持一致,即S,系统才能循环运行起来。

P操作是从自身往外输出东西,因此是S-1,又因为只要自身不为0便可对外输出,因此 S<0 [P操作S-1,往队列插入数据,S<0]

V操作是从外部拿东西进来,因此是S+1,即使自身为0了,还可以从外部继续拿东西,因此S<=0 [V操作S+1,从队列取出数据,S<=0]

 

标签:PV,处有,S3,S2,S1,软考,S4,前驱,操作
来源: https://www.cnblogs.com/yangleif/p/14894263.html