资源大小: 577KB
发布时间: 2009-12-17
文件格式: rar
下载次数: 1
分享到:

下载地址:

下载地址1
(本站为飞网专业下载站,域名:down.cfei.net)

资源简介:

在程序中,首先给哲学家用到的5根筷子做标记,用bool型表示,其中true表示筷子未使用,false表示筷子被占用,将筷子的状态存储到数组kuaizi[5]中,在整个程序中需定义一个类man,里面设有的私有成员变量为status和number,status标记当前哲学家的状态,0表示正在等待(即处于饥饿状态),1表示得到两支筷子正在吃饭,2表示正在思考。在初始状态下,假设5个哲学家都在思考,思考的下一个状态就为饥饿。在分析哲学家的状态时,当处于饥饿状态时,根据资源不发生死锁的条件,要对哲学家左右两边筷子的状态进行分析,因此要分别用到lefthand和righthand来标记每个哲学家左右两边筷子的状态,true表示筷子未使用,false表示筷子被使用。在类中设有的公有的成员函数为man(),为了避免出现死锁,这里设所有哲学家都从一边开始找筷子,在man()函数中定义了左筷子未使用,右筷子已使用,哲学家的状态为思考,对资源分配进行初始化设计。在类中还定义了一个成员函数change(),它主要是判断每一轮哲学家的就餐问题时,对资源分配情况的分析,即解决方案。这是整个程序的关键,在每个进程运


飞网下载站,免费下载共享资料,内容涉及教育资源、专业资料、IT资源、娱乐生活、经济管理、办公文书、游戏资料等。