我有两个主要演员(主要工作人员,第二主要工作人员) -
1.主要工作人员将样本组划分为单个样本 2.sec主要工作人员获取样本并进行处理。(使用子工作人员)
问题:我希望主工作人员等待加载任何新的样本组,直到旧样本组完成。处理每个样本组所花费的时间各不相同。在这种情况下如何使用期货?每个主要工作人员在完成样本组结束时发送样本组已完成的消息。
当时间限制未知时,可以在这种情况下使用期货吗?我是期货的新手,我搜索过的大多数期货的例子都有一段时间了。
答案 0 :(得分:0)
这是一个不依赖期货或时间的情景示例:
场景示例:
Actor1拆分样本组并保留样本集合 在接收中,您可以从Actor2获取新样本的请求,并将其从当前样本集合中删除。 当样本集合为空时,您可以请求新的样本组。
Actor2具有相同的集合机制,用于跟踪当前样本的已完成工作,每次子工作完成任务时将其从集合中删除。当集合变空时,请求来自Actor1的新样本
您可能希望在Actor2上安排超时,因此如果它没有超过一个时间间隔的消息,那么您可以抛出错误或重试再次处理该示例。