文件名称:哲学家问题
文件大小:282KB
文件格式:RAR
更新时间:2009-03-15 02:52:39
另类其它 控件 源码 资源
5个哲学家有一张圆桌,围坐着一圈哲学家(假设有四个哲学家)。哲学家只有两个属性,一是思考,二是吃饭。那么这些哲学家们就坐在圆桌旁进行思考吃饭再思考再吃饭的循环。吃饭时,每个哲学家前面的桌子上有一碗面条,右手侧有一根筷子(我们知道哲学家都很穷)。我们知道面条只有用两根筷子才能吃,因此哲学家们吃饭的方法是:一个人先拿起自己右手侧的筷子,如果左边的人在思考而没有吃饭,那么再拿起左边人的筷子,开始吃饭,吃饱后,将自己的筷子放在右边,另一根筷子归还回左手侧。如果恰巧左边的人在吃饭,就一支筷子在手,等待左边的哲学家吃完饭后,筷子空出来后再拿起左边刚空出的筷子开始吃饭。因为哲学家们围成一圈坐在圆桌旁,因此,每个哲学家都有用两根筷子吃饭的机会。这样,哲学家们就这样思考吃饭再思考再吃饭。但这样下去一定有一个时刻,“死锁”问题会出现。这就是,当圆桌所有的哲学家同时思考完毕开始吃饭时,哲学家们同时拿起自己的那根筷子,然后发现左边的筷子不在桌上,于是他就等着。这样,桌子上每一个哲学家都在等左边的人吃完饭把筷子空出来,但因为每个哲学家都在等,而没有一个哲学家能吃到饭,因而,他们只能无限制地等下去。这就是一种“死锁”状态。也许你说,这些哲学家真笨,没有哪个不吃饭先放下自己的筷子,问题不就解决了?嘻嘻,他们是哲学家,思考的是宇宙的大问题。。。。。。喜欢计算机科学中对哲学家的简单定义吗?:)
【文件预览】:
operatesys
----zhexuejia.BAK(568B)
----0RNL0017.TMP(11KB)
----BE2P000W.TMP(11KB)
----FORMS()
----os.scx(6KB)
----operatesys.PJT(35KB)
----MENUS()
--------OPERATESYS_MAIN.MPR(13KB)
--------operatesys_main.mnx(7KB)
--------operatesys_append.mnx(4KB)
--------operatesys_go.mnt(2KB)
--------operatesys_go.mnx(2KB)
--------operatesys_main.mnt(11KB)
--------OPERATESYS_GO.MPR(3KB)
--------operatesys_append.mnt(5KB)
--------operatesys_top.mnt(11KB)
--------operatesys_top.mnx(7KB)
----0RNL001U.TMP(11KB)
----zhexuejia.dbf(531B)
----GRAPHICS()
----LIBS()
--------operatesys_app.vct(28KB)
--------operatesys_app.vcx(4KB)
----APPUSER.FPT(512B)
----FANGAN.dbf(359B)
----HELP()
----prog1.FXP(799B)
----os.SCT(46KB)
----operatesys.exe(1.01MB)
----INCLUDE()
----prog1.BAK(598B)
----apperror.FPT(31KB)
----APPUSER.CDX(6KB)
----APPUSER.DBF(606B)
----operatesys.pjx(9KB)
----operatesys_app.h(2KB)
----7490.scx(5KB)
----BE2P000C.TMP(11KB)
----operatesys_app.cdx(9KB)
----kuaizi.dbf(449B)
----kuaizi.BAK(531B)
----M_1470XALH5.FKY(18B)
----open.gif(7KB)
----M_1470WCMFP.FKY(18B)
----operatesys_app.dbf(957B)
----apperror.dbf(410B)
----prog1.prg(644B)
----Thumbs.db(8KB)
----KCG10018.TMP(11KB)
----FANGAN.BAK(340B)
----M_13W1BOG1K.FKY(18B)
----operatesys_app.log(829B)
----REPORTS()
----operatesys_app.fpt(640B)
----DATA()
----PROGS()
--------operatesys_app.prg(3KB)
----7490.SCT(5KB)
----DAIMA.doc(98KB)
----操作系统实验报告.doc(36KB)
----config.fpw(2KB)