实验一 进程同步互斥——不死锁的哲学家问题   (1)输入的形式和输入值的范围;   由于这个是一个按钮实现监控,界面提供视图的程序,所以并不需要别的附加的输入,只需要点击相应的按钮即可。按钮有开始、暂停、结束(退出)。实验只需要按动开始键,即可以直观形象地看到哲学家吃面条问题在随机时间下的解决情况,方便用户查看。   输出的形式;   输出的形式,是以可视化界面的形式,哲学家和筷子的状态以图片的形式显示出来,可以看到是饥饿还是进餐或思考状态。而提示输出是以String的形式显示在界面右下角的位置的。方便用户更客观的查看进程的运行情况。   程序所能达到的功能;   该程序能解决经典的哲学家吃面条问题的问题,即死锁问题。在此题中,筷子是一个共享的但是要互斥使用的临界资源 ,当前筷子是否被占用,其他哲学家的状态,都是需要进行交互的,于是涉及同步互斥的问题。该程序能解决死锁问题及将哲学家的状态用可视化的界面显示出来,所以比较客观的让我们理解了这个问题的实现。
1
操作系统课程作业,有可视化动态,VS2017可运行,C#。
2019-12-30 03:17:01 5.6MB 哲学家 操作系统 C# 可视化
1
操作系统课程中模拟哲学家进餐问题的c++程序,MFC开发
2019-12-30 03:07:34 1.8MB c++ 操作系统 哲学家进餐
1
操作系统初学,关于信号量同步的实验报告,用三种方法避免哲学家进餐问题死锁,a:and信号量,b:控制进餐人数,c设置条件
2019-12-21 21:44:36 258KB 操作系统
1
这是一个描叙哲学家进餐问题的代码。。。。。。C语言写额
2019-12-21 21:09:43 1.12MB 源代码
1
有三个.cpp文件,代码是我亲手写的,都可以运行,这个代码包含有3种方式避免死锁的方法,一个是允许四个哲学家同时进餐,第二个是一下子就拿两根筷子,否则不拿,第三个就是奇数哲学家先拿左边的筷子,偶数哲学家拿右边的筷子
2019-12-21 20:55:55 3KB 哲学家进餐问
1
哲学家进餐问题,非线程完成,c++核心代码,武汉理工大学实验报告
2019-12-21 20:51:15 187KB 操作系统 实验报告
1
在linux下实现的,用信号量解决哲学家进餐问题,代码在文档的最后
2019-12-21 20:18:16 730KB 信号量 哲学家进餐
1
哲学家进餐问题的c++模拟实现,避免死锁的方法是奇数号哲学家先拿右边的筷子,偶数号先那左边的筷子,有详尽的注释。
2019-12-21 20:06:25 3KB 操作系统
1
问题: 哲学家就餐问题可以这样表述,假设有六位哲学家围坐在一张圆形餐桌旁,做以下两件事情之一:吃饭,或者思考。吃东西的时候,他们就停止思考,思考的时候也停止吃东西。餐桌中间有一大碗意大利面,每两个哲学家之间有一只筷子。因为用一只筷子很难吃到意大利面,所以假设哲学家必须用两只筷子吃东西。他们只能使用自己左右手边的那两只筷子。 解决方式: 采用互斥量来解决该问题,每互斥量代表一只筷子。哲学家必须等待身边两只筷子同时可以使用的时候才可以进餐,当使用一会之后,需要自动释放该互斥量(筷子),其他哲学家就可以进行抢占使用。
2019-12-21 19:59:47 37KB .net c# 多线程 互斥体
1