我有一个类(Node
),它产生一些进程并在它们之间分配任务,收集结果,然后发送回来。现在我试图测量节点处理任务所花费的平均时间(我假设所有任务大致相似,所以通过这样做我可以理解我是否需要通过Amazon EC2增加计算能力及时完成。
每次进程完成计算时,它都会调用grab_result
的{{1}}方法,并将结果(以及一些信息,如计算时间)传递给方法。在Node
方法中,我将结果添加到结果队列中,并且我还尝试将时间附加到grab_result
,列表属性为times
。但是当我完成任务时,我会查看列表并将其清空。
如果我用队列替换列表,它会开始工作,但在这种情况下使用队列真的很不方便 - 我需要将所有项目都放到列表中,计算平均值并将它们添加回去队列。附加到列表是一个原子操作(据我所知),所以我不确定如何附加项目。
这是我的代码:
Node