关于pv操作的问题,我觉地刚开始应该p(s2)

thb28 2004-11-06 11:30:27
好像题目我没看错地话
s1=n是只缓冲区买地个数

那么答案应该是

P(s2)
v(s1)
p(s1)
v(s2)

请线p(s1)地谈谈理由看?
...全文
232 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
risky2003 2004-11-07
  • 打赏
  • 举报
回复
因为s1=n!!!
对应生产消费的问题。
thb28 2004-11-07
  • 打赏
  • 举报
回复
楼上地先看仔细再说
mymib 2004-11-07
  • 打赏
  • 举报
回复
晕,,完全可以不看它是否空或者满.

如果s1=n,s2=0
刚开始(初始状态)的时候,对于写进程,先p(s2)的话肯定执行不了.

那么现在看读进程了,p(s1),噢,可以执行了........

但问题是,读进程读的是写进程写进缓存的东东吧?人家写进程都还没有写,读进程读出来的是什么?

你还说应该先p(s2)?????
fowenler 2004-11-07
  • 打赏
  • 举报
回复
如果缓冲区一开始是空(即无数据)的话,P(S1)先正确,
如果为满的话,P(S2)先正确~~
thb28 2004-11-07
  • 打赏
  • 举报
回复


我也觉地是
laze1 2004-11-07
  • 打赏
  • 举报
回复
所以P(s2)
v(s1)
p(s1)
v(s2)
正确
laze1 2004-11-07
  • 打赏
  • 举报
回复
关键不是缓冲池满不满

看清S1=N S2=0
写进程,P(S2)时,是看缓冲池有无空间,如果有,写进程继续,如果无则阻塞

读进程,P(S1)时,是看缓冲区有无数据,如果有,读进程继续,无则阻塞
minanqiang 2004-11-07
  • 打赏
  • 举报
回复
第一次是阻塞吗?缓冲池如果是满的话,就是我错了。
如果不是空,我就对。我没看清题目。
jsking 2004-11-07
  • 打赏
  • 举报
回复
同意,P(s2)
v(s1)
p(s1)
v(s2)
thb28 2004-11-07
  • 打赏
  • 举报
回复
难道没人对这感兴趣
laze1 2004-11-07
  • 打赏
  • 举报
回复
同意楼主
不过很郁闷SA,SB初值我写成0,0了

TMD题目5,6,7难度太不均衡,学JAVA的太爽了,我不懂JAVA最后还是选了JAVA,对了3个,错了2个
thb28 2004-11-07
  • 打赏
  • 举报
回复
to: minanqiang(我是天上的飞鸟)

先学习学习操作系统吧
thb28 2004-11-07
  • 打赏
  • 举报
回复

第一次是阻塞,但你应该明白那时缓冲池是满地啊,写者进程刚开始肯定要先阻塞,等道消费者进程运出一块,发出一个v(s2)此时,s2=0,唤醒相应地写着进程
有什么不对吗?

P(s2)
v(s1)
p(s1)
v(s2)
minanqiang 2004-11-07
  • 打赏
  • 举报
回复
S2肯定错.
S2=0
p(S2)....
下面就不能运行了,阻塞.第一次都运行不了.
thb28 2004-11-07
  • 打赏
  • 举报
回复
自己顶一下
cowboy2006 2004-11-07
  • 打赏
  • 举报
回复
我的答案也是:

P(s2)
v(s1)
p(s1)
v(s2)
唉,但没考好,题没做完。
题做得太少了,准备不充分哪。
thb28 2004-11-06
  • 打赏
  • 举报
回复
请大家谈谈先p(s1)地理由,可以吗

2,947

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧