(1)问题描述 有五位哲学家,用一生来思考和吃饭。他们围坐在一张圆桌旁边,桌子中央有一大碗米饭,桌上还有五个碗和五只筷子,他们的生活方式是交替地进行思考和进餐。平时,当某位哲学家进行思考时,他不与其它哲学家交互。当他感觉到饥饿时,便试图拿起与其左右最靠近他的筷子。满足: 一个哲学家每次只能拿起一只筷子,且他不能从其他哲学家手里拿筷子 只有在他拿到两只筷子时才能进餐 3.4.5 经典同步问题 * (2) 用信号量解决哲学家就餐问题 每一只筷子的使用都必须是互斥的,在某一时刻只允许一个哲学家使用 利用一个信号量表示一只筷子,五只筷子的信号量数组定义为semaphore chopstick[5] 3.4.5 经典同步问题 * 信号量解决哲学家就餐问题描述如下: semaphore chopstick[5] = {1,1,1,1,1}; int i; void philosopher (int i){ while(TRUE){ // think wait(chopstick[i]); wait(chopstick[(i+1) % 5]); // eat signal(chopstick[(i+1) % 5]); signal(chopstick[i]); } } void main(){ parbegain (
您可能关注的文档
最近下载
- 铁路选线设计毕业(论文)设计.doc VIP
- 【禁毒宣传课件】新禁毒宣讲-珍爱生命拒绝毒品.pptx
- 烧柴灶施工方案设计.doc VIP
- 广东佛山市2025_2026学年九年级下学期 中考一模语文试题(3月)(文字版,含答案).docx VIP
- 双硫仑样反应.pptx VIP
- 2026及未来5年中国阿莫西林市场现状分析及前景预测报告.docx
- (2026年)内分泌总论PPT课件.pptx VIP
- T_CADERM 7021—2025(紧急医学救援用多模态医学影像系统技术要求).pdf
- 中国南方电网20kV及以下配电网项目施工图设计内容深度的规定.pdf VIP
- 《结直肠癌化疗治疗进展》课件.ppt VIP
原创力文档

文档评论(0)