以文本方式查看主题

-  计算机科学论坛  (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=58170)


--  作者:POS
--  发布时间:1/17/2008 10:55:00 PM

--  请教一道小的PV题
请教"5扇门,每扇门一次只能一个人通过,人数不考虑."PV怎样实现呢?
--  作者:dtdnh520
--  发布时间:1/18/2008 11:19:00 AM

--  
Semaphore door = 5;//一共五扇门
void pi()
{
  p(door);
  过门
  v(door);
}
--  作者:wulin007
--  发布时间:1/18/2008 1:02:00 PM

--  
你可以认为这就是巴拿马运河问题。上面的那是错的。。。

--  作者:POS
--  发布时间:1/18/2008 6:06:00 PM

--  
我疑惑是这五扇门是看成一个资源还是五个资源?若是一个资源, dtdnh520的程序就有可能是5个人同时从一个门中过去(这应该不符合题意),如是5个资源,又很复杂,因为有这种情况:一个人想过去,但1号门有人正在过,那么他会去看看2号门...,这样就是一个循环探测的过程,这样就有点难实现了.不知是不是直接看成一扇门,简化题意.期待中...
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.021ms