以下是资源分级解法的说明,我想问的是:如果按下面的方法,但是改为就餐后先放下较低的,再放下较高的。会有问题吗?
分配一个偏序或者分级的关系,并约定所有资源都按照这种顺序获取,按相反顺序释放,而且保证不会有两个无关资源同时被同一项工作所需要。在哲学家就餐问题中,资源(餐叉)按照某种规则编号为1至5,每一个工作单元(哲学家)总是先拿起左右两边编号较低的餐叉,再拿编号较高的。用完餐叉后,他总是先放下编号较高的餐叉,再放下编号较低的。
3 个解决方案
#1
有点意思,我也来做一做
#2
这是《现代操作系统》一书中对该问题的解法,建议楼主看一看
http://book.51cto.com/art/200907/138168.htm
http://book.51cto.com/art/200907/138168.htm
#3
应该不会有问题吧,我当年考研时学过,我记得是必须同时拿到两个筷子才能就餐,不过对放筷子没什么要求把
#1
有点意思,我也来做一做
#2
这是《现代操作系统》一书中对该问题的解法,建议楼主看一看
http://book.51cto.com/art/200907/138168.htm
http://book.51cto.com/art/200907/138168.htm
#3
应该不会有问题吧,我当年考研时学过,我记得是必须同时拿到两个筷子才能就餐,不过对放筷子没什么要求把