以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 计算机考研交流 』 (http://bbs.xml.org.cn/list.asp?boardid=67) ---- 请教一个PV问题,大家看看这个算法是否正确 (http://bbs.xml.org.cn/dispbbs.asp?boardid=67&rootid=&id=56207) |
-- 作者:skidrow013 -- 发布时间:11/30/2007 12:14:00 AM -- 请教一个PV问题,大家看看这个算法是否正确 大家帮忙看一下这个算法存在什么问题 先谢了。 有一个仓库存放两种零件A和B,最大库存容量各为m个,一车间不断取A和B进行装配,每次各取一个。 我是用类C语言来描述的。 初始化 A供货商 do wait(PQA); wait(mutexA); for(int i=fullA,fullA!=0&&i>=0,i--) add an "A" product to Astore[0]; signal(fullA); signal(PQB);
B供货商 do wait(PQB); wait(mutexB); for(int i=fullA,fullA!=0&&i>=0,i--) add a "B" product to Astore[0]; signal(fullB); signal(PQA); 装配车间 do wait(fullB); wait(mutexA); wait(mutexB); Take an "A" product from Astore[fullA]; signal(mutexA); signal (emptyA); signal (emptyB) }
|
-- 作者:九九 -- 发布时间:11/30/2007 11:04:00 AM -- for(int i=fullA,fullA!=0&&i>=0,i--) /*用数组Astore[m]来模拟仓库储存A零件的存储单元集合*/ Astore[i]=Astore[i+1]; 这部分的循环,好像没有多大意义的浪费了操作, |
-- 作者:javacap -- 发布时间:11/30/2007 12:28:00 PM -- 你这是P,V还是管程阿,怎么全是条件变量 |
-- 作者:skidrow013 -- 发布时间:11/30/2007 5:28:00 PM -- 要求是pV所以,我尽力用PV。 但不知是否会出问题 |
-- 作者:skidrow013 -- 发布时间:11/30/2007 5:29:00 PM --
要求是用PV操作。 |
-- 作者:buddha -- 发布时间:12/3/2007 12:58:00 PM -- 这就是PV吧. 只不过没有用PASCAL而已 |
-- 作者:applestar -- 发布时间:12/4/2007 7:12:00 PM -- 信号量只有pv才能访问操作。 这题很简单的。不需要这么复杂。信号量的设置的是对的。过程不妥 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.012ms |