欢迎来到天天文库
浏览记录
ID:55668522
大小:68.00 KB
页数:1页
时间:2020-05-23
《不会出现死锁的哲学家进餐问题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法。解法1:设初始值为1的信号量M[I]表示I号筷子被拿(I=1,2,3,4,5)。哲学家(I):BeginifImod2==1then{Wait(M[I]);Wait(M[I-1mod5]);Eat;Signal(M[I-1mod5]);Signal(M[I]);}else{Wait(M[I-1mod5]);Wait(M[I]);Eat;Signal(M[I]);Signal(M[I-1mod5]);}End解法二:设初始值为1的信号量M[I]表示I
2、号筷子被拿(I=1,2,3,4,5)。另设初始值为4的信号量Mutex表示同时最多只允许4个哲学家进餐哲学家(I):BeginWait(Mutex);Wait(M[I]);Wait(M[I-1mod5]);Eat;Signal(M[I-1mod5]);Signal(M[I]);Signal(Mutex);End
此文档下载收益归作者所有