c++ - SimGrid/C++ 上带有同步对象的令牌环
问题描述
我需要使用 SimGrid 创建一个令牌环应用程序,其中 20 条消息将通过每个节点传递,直到它们到达初始节点。我必须使用诸如互斥量/信号量之类的同步对象,但我不知道如何开始。
任务:
任务 1:创建一条消息并将其从一台机器传输到另一台机器,如箭头所示。将一台机器命名为启动机器。通过 SIMGRID 创建一个消息队列(邮箱)来执行此操作。每个收到消息的节点都必须打印它收到了消息并说明它发送消息的位置。当消息到达源节点时,它应该打印,x 字节消息已到达并终止进程。
任务2:现在每个节点都必须有一个storage,每条到达节点的消息都存储在storage中。之后,接收到消息的节点将读取内容并将其传递给将执行相同过程的下一个节点。每个在磁盘上接收到消息的节点都必须打印它接收到的消息并以字节为单位说明它的大小。
任务 3:
使用 20 条不同大小的消息重复任务 2。
解决方案
推荐阅读
- angular - 从“createAction”函数获取类型
- flutter - 在 onChanged TextForm 字段值中将字符串更改为 int
- c# - 是否可以在列表视图单元格上禁用/设置单击效果的颜色?
- php - Laravel 8.x - 在 Cloudflare 和负载均衡器后面运行时出现 403 无效签名
- r - 第一行和第一列作为r中表格的标题
- python - Python 错误:ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
- excel - 识别 Excel 文件是否在 OneDrive 上打开
- php - 在 Firebase 中使用带有嵌套嵌套键的 .indexOn
- javascript - 不确定如何使用更新的数组更新此图表
- c# - 在三个条件下具有 T 的函数中返回一个真实实例?