哲学家进餐问题的课程设计报告,包括课程设计背景,程序流图,源代码,分析,注解,以及课程设计总结。相当完整
2021-06-11 09:50:55 454KB
1
使用Linux C 在Visual C++ 下实现的关于哲学家就餐问题
2021-06-10 15:04:07 4KB Linux 哲学家就餐
1
自己亲手做的操作系统课程设计,题目是哲学家进餐问题,里面有进程线程的设计,报告+源代码都有!
2021-06-06 22:47:09 60KB 操作系统 课程设计 哲学家 进餐
1
操作系统实习文档,5个哲学家进餐问题的源码
2021-06-06 22:42:07 31KB 哲学家进餐
1
理解死锁的概念,掌握死锁预防方法。 死锁是进程并发执行过程中可能出现的现象,哲学家就餐问题是描述死锁的经典例子。假设有几位哲学家围坐在一张餐桌旁,桌上有吃不尽的食品,每两位哲学家之间摆放着一根筷子,筷子的个数与哲学家的数量相等,每一位哲学家要么思考,要么等待,要么拿起左右两根筷子进餐。本设计假设有五个哲学家和五根筷子,它们的编号都是从0到4。 如果每位哲学家都拿起左边的筷子,就会发生死锁。 为了防止死锁,可以采用资源预分配法或者资源按序分配法。资源预分配法是指进程在运行前一次性地向系统申请它所需要的全部资源,如果系统当前不能够满足进程的全部资源请求,则不分配资源, 此进程暂不投入运行,如果系统当前能够满足进程的全部资源请求, 则一次性地将所申请的资源全部分配给申请进程。资源按序分配法是指事先将所有资源类全排序, 即赋予每一个资源类一个唯一的整数,规定进程必需按照资源编号由小到大的次序申请资源。 在哲学家就餐问题中,要采用资源预分配法只需让每个哲学家同时申请左右两根筷子。要采用资源按序分配法只需规定每个哲学家先申请左右两根筷子中编号小的筷子,再申请编号大的筷子。
2021-06-05 20:46:56 155KB 哲学家就餐
1
哲学家就餐问题java swing演示版,直观演示哲学家进餐情况。 基于 java 1.6, eclipse kepler书写 直接运行压缩包内:DiningPhilosophers.jar文件,或者把项目导入eclipse运行DiningPhilosophers.java程序
2021-06-01 16:44:17 966KB 哲学家就餐 java swing UI
1
餐饮哲学家GUI Java中GUI的进餐哲学家问题。 使用信号量解决死锁。
2021-05-31 19:04:02 350KB Java
1
哲学家就餐是一个经典的Java多线程编程的实例,这是图形版。涉及到线   哲学家就餐:有五个哲学家绕着圆桌坐,每个哲学家面前有一碗面,两人之间有一支筷子,这样每个哲学家左右各有一支筷子。哲学家有2个状态,思考或者拿起筷子吃饭。如 果哲学家拿到一只筷子,不能吃饭,直到拿到2只才能吃饭,并且一次只能拿起身边的一支筷子。一旦拿起便不能放下直到把饭吃完,此时才把这双筷子放回原处。如果,很不幸地 ,每个哲学家拿起他或她左边的筷子,那么就没有人可以吃到饭了。这就会造成了死锁……这是我们坚决杜绝的,正如操作系统的死锁问题。
1
利用java语言来实现操作系统里的经典算法——哲学家算法,能够实现出现死锁与避免死锁的情况
2021-05-28 20:36:57 54KB 哲学家
1
哲学家进餐 一,课程设计目的 掌握基本的同步与互斥算法,掌握进展并发执行的原理,及其所引起的同步,互斥问题的方法。 二,课程设计内容 自己编写的信号量和wait,signal操作的模拟程序,然后用其解决不死锁的哲学家问题或读者-写者问题。 三,要求及提示 本译文必须单人完成。 解决不死锁的哲学家问题,要求把哲学家们的活动过程用文字或图形可视化形式表示出来。 提示:首先设置一个“ PCB”插入或串联,其中一个分段表示“分开原因兼并标志”,本实验中,该数组有5个元素表示5个哲学家即可。它们随机提出申请以及进行“思考” ”和“吃”的行为。再设一个“筷子”数组。还需要设置一些数据结构以及需要某些分段自己考虑。 运行截图 发生死锁 不会发生死锁
2021-05-28 20:05:54 484KB operating-system OperatingsystemJava
1