哲学家进餐问题是荷兰学者Dijkstra 提出的经典问题之一,它是一个信号量机制问题的应用,在操作系统文化史上具有非常重要的地位。对该问题的剖析有助于学生深刻地理解计算机系统中的资源共享、进程同步、死锁等问题,并能熟练地应用信号量来解决生活中的控制流程,即将生活中的控制流程用形式化的方式表达出来。 假设有5个哲学家,他们花费一生中的时光思考和吃饭。这些哲学家共用一个圆桌,每个哲学家都有一把椅子。在桌子中央是一碗通心面,在桌子上放着5只筷子。(如图所示)当一个哲学家思考时,他与其他同事不交互。时而,哲学家会感到饥饿,并试图拿起与他相近的两只筷子(他与邻近左、右之间的筷子)。一个哲学家一次只能拿起一只筷子。显然,他不能从其他哲学家手里拿走筷子。当一个饥饿的哲学家同时有两只筷子时,他就不能不用释放他的筷子而自己吃了。当吃完后,他会放下两只筷子,并再次开始思考。 规定奇数号哲学家先拿他左边的筷子,然后再去拿右边的筷子;而偶数号哲学家则相反。按此规定,将是1、 2号哲学家竞争1号筷子;3、4号哲学家竞争3号筷子。即五位哲学家都先竞争奇数号筷子,获得后,再去竞争偶数号筷子,最后总会有一位哲学家能获得两只筷子而进餐。
上传时间: 2014-01-23
上传用户:teddysha
C++经典语法与应用,类的编写与应用,构造与析构函数,函数的重载,类的继承,函数覆盖,基类与派生类的构造函数、析构函数先后调用顺序,如何在派生类构造函数中向基类的构造函数传递参数,this成员变量,类型转换的内幕,虚拟函数与多态性,引用和指针变量的区别与共同处。VC工程的编译原理与过程,将工程中不同的类拆分到不同的文件中,每一个类由一个.h和.cpp文件共同完成,头文件重复定义问题的解决,培养了学员良好的编程习惯,也为以后分析MFC AppWizard生成的工程奠定了良好基础。
标签:
上传时间: 2015-11-13
上传用户:zsjzc
使用Embeded Visual C++开发通讯终端及应用实例代码分析?褂肊mbeded Visual C++开发通讯终端及应用实例代码分析
上传时间: 2015-11-15
上传用户:宋桃子
多机通讯 rs485的应用原理, 如有需要者可以峡在
上传时间: 2013-12-23
上传用户:alan-ee
这是讲述VC++在通讯中的应用的一篇文章,或许会给你带来有用的信息哦
上传时间: 2013-12-14
上传用户:希酱大魔王
这是经典的卫星编程应用程序,可以参考以下
上传时间: 2015-11-21
上传用户:czl10052678
应用经典prony法和AR参数建模进行模态参数识别
上传时间: 2015-11-29
上传用户:253189838
本文提出一种基于DSP 的SPWM 波形生成新方法—单元脉冲舍入法。产生的SPWM 波经过滤波后转变成的正弦波,具有 频率高、频率范围宽、波形畸变小的特点,可以用做数据通讯的载波,并且已经成功地应用在基于DSP 的软件调制解调器中。
上传时间: 2013-12-20
上传用户:yepeng139
包括DSP实验测试程序、实验示例、应用程序以及经典的DSP的C程序和汇编程序库
上传时间: 2015-11-30
上传用户:330402686
一本介绍游戏开发过程中AI应用的书籍 经典的算法,优雅的代码 我看了 英文的 很好懂 游戏编程和人工智能的朋友下
上传时间: 2015-12-02
上传用户:saharawalker