EEEN30141 Concurrent Systems

发布时间 2023-11-22 17:52:38作者: uiili83
该课程分为三个部分,将四个部分合在一起进行模拟
百米短跑接力赛。比赛由NO_TEAMS参赛队和
每个团队都有NO_MEMBERS成员。NO_TEAMS和NO_MEMBERS都是四个。
课程的三个部分如下:
•第1部分:这涉及创建和启动一个二维数组
线程,每个线程代表一个runner,询问线程属性,以及
使用随机数和时间延迟来表示每个跑步者的比赛时间。它
还涉及C++映射的这些使用。
•第2部分:这涉及到在比赛开始时,在接力棒上同步线程
交流并确保只有一个获胜者——照片完成不是
此模拟中允许!
•第3部分:将第1部分和第2部分的代码集成到竞争模拟中。
尽管课程应分为上述三个部分,但
只提交一份完整的程序,或者在
截止日期。
1.1发展环境
您应该使用Microsoft Visual Studio IDE来开发代码。这在上提供
工程建筑A中的计算机集群,可通过上的说明下载
单位的黑板页。
1.2联系会议
作业是你应该完成的一项单独的作业
在您自己的时间内独立完成(如单元交付计划中所述)。
将有许多由工作人员和GTA参加的一小时实验室会议,使您能够
询问有关作业的问题,并寻求有关代码的建议。还会有代码
手术由单位协调员负责。参加这些会议不是强制性的。
会议时间表将另行公布。
1.3课程作业的提交
提交的作业应该是一个.zip文件。没有其他压缩
FORMAT THAN.ZIP将被接受,如果您上传的文件格式不同(例如
如.7z、.rar等),您将收到一个零标记。这个上传的.zip文件应该包含
1.https://en.wikipedia.org/wiki/4_%C3%97_100_metres_relay.
3.
您的Visual Studio项目,包括所有源文件和标头。标记应该是
可以通过双击.vcxproj文件来访问代码,然后构建它。
上传截止日期为2023年11月27日星期一13:00(第10周)。标准
逾期提交的部门将受到处罚。
稍后将提供有关上传的更多详细信息。
2.第1部分概述
本部分的目标是编写一个C++程序,声明
线程对象,每个线程对象执行run函数并代表一名运动员
参加比赛。运动员完成比赛的时间只是一个随机数,
其用于在运行函数中产生时间延迟。
将在第1部分中开发的运行的初始版本具有以下原型:
无效运行(Competitor&c);
Class Competitor将提供给您使用。下文第3节对此进行了讨论。请注意
它需要一个小但不平凡的扩展。类对象Competitor标识
参加比赛的运动员。
运行应该睡眠一段与运行所用时间相兼容的随机时间
100米由专业运动员2完成,并打印出调用线程的id。
要创建线程数组,您需要在中使用类线程的默认构造函数
数组声明。默认构造函数将在第4讲的末尾简要介绍
(幻灯片“线程、线程对象和移动分配”)和其中一个示例程序
说明了使用它的一种方法。然后必须为数组的每个元素分配一个线程。
你应该在互联网上做一些关于如何完成的确切细节的研究
尽管这很简单。
上面提到的第4讲幻灯片还提供了如何查找标识符的示例
由底层运行时系统提供给线程。
3.同类竞争对手
这允许程序指定运动员的姓名和团队名称
他们所属的。这个类的基本版本,在
课程内容如下:
2女子100米短跑世界纪录是10.49秒,由弗洛伦斯·格里菲斯·乔伊纳(美国)创造。男士