主题:加分题--不难不简单(临界竞争)
lt19870917
[专家分:750] 发布于 2006-12-03 22:19:00
s=1,t=0
cobegin
p1:P(s);CS1;V(s)
//p2:t=1;P(s);CS2;V(s)
coend
是否会导致p1先执行.
给出答案理由,加30分
回复列表 (共4个回复)
沙发
lt19870917 [专家分:750] 发布于 2006-12-03 22:22:00
就是说p2中在P(s)前加一条很短的语句
板凳
Cray [专家分:310] 发布于 2006-12-27 09:07:00
此处设置变量t,好象看不出有什么作用
对单一信号量s的操作还是关键点...
整个程序中p1, p2 仍然可以并行
3 楼
skybtone [专家分:160] 发布于 2007-02-07 13:15:00
它们是并行运行的.
采用 生产者与消费者 思想 可以解决这个问题,这个不难
4 楼
shanhuyu [专家分:60] 发布于 2007-04-10 22:24:00
这个是PV操作啊,可以是P1,P2并行运行的,两者不会分先后,但是一个运行的时候,会给信号量上锁,使另外一个暂停吧
我来回复