


全文预览已结束
VIP免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
P、V原语解决哲学家就餐问题(C+版本) 六个哲学家一起就餐,六只筷子。为防止哲学家饿死的情况,制定如下规则:规则:(1)奇数号的哲学家先拿起右边的筷子再拿起左边的筷子。(2)偶数号哲学家先拿起左边的筷子,再拿起右边的筷子。(3)如果哲学家抢到一只筷子,在抢占另一只筷子时失败,则要放弃已经抢占到的资源。(4)左右两边都抢到筷子的哲学家,吃完放后释放资源。源代码如下:1. #include 2. #includesemaphore.h 3. #includethread.h 4. #include 5. #include 6. #defineN6/哲学家的个数 7. /-参数说明:- 8. /id左边的筷子 9. /(id+1)%N右边的筷子 10. /哲学家和筷子都是从0开始编号 11. /编号为N的哲学家的右边的筷子编号为0 12. 13. /初始化信号量 14. SemaphoreChopStickN=1,1,1,1,1,1;15. 16. voidPhilosopher(intid)17. 18. while(true)19. 20. if(id%2=0)/偶数号哲学家 21. 22. ChopStickid.P();/拿起左边的筷子 23. ChopStick(id+1)%N.P();/拿起右边的筷子 24. printf(哲学家%d:正在吃饭/n,id);/左右都得到筷子则吃饭 25. ChopStickid.V();/释放左边信号量 26. ChopStick(id+1)%N.V();/释放右边信号量 27. 28. elseif(id%2=1)/奇数号哲学家 29. 30. ChopStick(id+1)%N.P();/拿起右边的筷子 31. ChopStickid.P();/拿起左边的筷子 32. printf(哲学家%d:正在吃饭/n,id);/左右都得到筷子则吃饭 33. ChopStick(id+1)%N.V();/先后释放右左信号量 34. ChopStickid.V();35. 36. Sleep(rand()%1000);/吃完睡上一会儿 37. 38. 39. 40. intmain()41. 42. HANDLEhPhilosopherN;/为每个哲学家分配一个线程 43. for(intid=0;idN;id+)/开启线程 44. 45. hPhilosopherid=startThread(Philosopher,id);46. 47. :WaitForMultipleObjects(N,hPhilosopher,TRUE,INFINITE);48. for(intid=0;idN;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育行业市场占有率表
- 美丽的心绪:初中语文作文教学与评价教案
- 外语课堂中的小组互动与合作学习效果研究
- 新能源领域发展动态表
- 小学生阅读理解能力的提升方法
- 各地区产业园区建设情况表格
- DB14-T 3387-2025 边鸡保种技术规程
- 家乡的变化发展议论文主题作文(8篇)
- 高空与低空交通融合对消费模式的创新
- 农业经济管理体系建设协议
- 山东省济南市2024年普通高中学业水平合格考模拟考试生物
- 光伏居间合同协议书范本
- 2023-2024学年内蒙古赤峰市林西县小升初全真模拟语文检测卷含答案
- 模板工程风险辨识及防范措施
- 临床轮转出科个人小结
- 2024届安徽省合肥市包河区第48中学数学七年级第二学期期末经典试题含解析
- 节气科学知识
- 光伏工商业培训课件
- 2024年湖北新华书店有限公司招聘笔试参考题库含答案解析
- 骨科患者的疼痛管理
- 宫颈炎护理查房
评论
0/150
提交评论