实践15哲学家进餐问题

实践15哲学家进餐问题

ID:35342050

大小:71.07 KB

页数:7页

时间:2019-03-23

实践15哲学家进餐问题_第1页
实践15哲学家进餐问题_第2页
实践15哲学家进餐问题_第3页
实践15哲学家进餐问题_第4页
实践15哲学家进餐问题_第5页
资源描述:

《实践15哲学家进餐问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实践15哲学家进餐问题1.实践内容说明(1)在函数中使用图形方式显示哲学家进餐问题,每个哲学家使用一个线程控制,随机进行进餐或者思考,使用互斥量和事件进行同步和互斥控制。2.程序性质(1)Windows和控制台混合应用程序(2)多线程3.运行环境设置(1)建立项目在VisualC++6.0开发坏境,单击New菜单,弹出New对话林£;在New对话框屮选择Project标签切换至Project标签页;在Project标签页的项目列表屮选择Win32Application选项,Location输入框输入项目所在的路径,或者单击输入框右侧的按钮,在弹出的

2、ChooseDirectory对话框中选择项目所在的磁盘分区和所在的目录;在Project标签页的Projectname输入框中输入项冃名称;Project标签页中的其他选项保持默认选择(单选Createnewworkspace前有黑点,Platforms选项框屮Win32前打勾),完成设置界而如图10所示。图10设置项日为Windows应用完成设置后单击OK,New对话框关闭,弹出Win32ConsoleApplication-Step1of1对话框。在Win32ConsoleApplication-Step1of1对话框中选择Anemptypr

3、oject单选项。Win32ConsoleApplication-Step1of1对话框如图11所示。图u说明刚建立的项口为空项ri完成Win32ConsoleApplication-Step1of1对话框后单击Finish按钮,Win32ConsoleApplication-Step1of1对话框关闭,弹出NewProjectInformation对话框。NewProjectInformation对话框屮显示了当前建立项目的一些信息。NewProjectInformation对话框如图12所示。图12显示新项冃信息单击NewProjectInfo

4、rmation对话框中的OK按钮,关闭NewProjectInformation对话框,项目建立步骤完成。(2)建立文件单击File菜单屮的New菜单项,弹出New对话框。在New对话框屮单击Files标签,切换至Files标签页;在Files标签页的文件列表中选择C++SourceFile选项,在File输入框中输入文件名。New对话框设置如图13所示。图13在新建的项目屮建立一个C文件完成New对话框设置后,单击0K按钮关闭New对话框,在项目中创建文件步骤完成。(3)输入文件在创建的文件窗口中输入要调试运行的操作系统源文件。(4)修改编译设置

5、单击Project菜单中的Settings菜单项,弹出ProjectSettings对话框。在ProjectSettings对话框中单击C/C++标签,切换至C/C卄标签页;在C/C++标签页中的Category卜•拉列表选择框中选择CodeGeneration选择项;在Userun-timelibrary卜•拉列表选择框中选择DebugMultithreadedDLL选项。设置界面如图14所示。图14设置成多线程环境完成设置后单击0K按钮关闭ProjectSettings对话框。(5)编译运行单击Build菜单中的RebuildAll菜单项编译项

6、目,或者单击工貝栏中BuildMinibar工具栏的Build工具按钮编译项目。BuildMinibar工具栏形状为,Build工具按钮对应的图标为,对应的快捷键是F7o4实现程序#includevwindows.h〉#include#include#include#defineDEGRESS_TO_RADIAN(x)(x)*3.14/180typedefstructHWNDhWnd;intchopXY⑻;〃intId;intisEating;}PARAM;#define#define#defi

7、ne#define#define#define〃窗口句柄〃哲学家的编号PHIL_NUMSTART_POINT150DESK_DIAMETER200PHIL_DIAMETER30CHOP_LENGHT50TIME10000〃哲学家数可改变为其他数HintchopSticks[PHIL_NUM];intFinished[PHIL_NUM];HANDLEhMutex;HANDLEhEvent;〃圆桌直径〃哲学家圆圈直径〃筷了长度〃持续时间t度〃筷子的初态〃用餐是否完成〃互斥量〃事件unsignedint_stdcallDineMany(LPVOIDpPa

8、ram);intWINAPIWinMainfHINSTANCEhlnstance,HINSTANCEnCmdShow);L

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。