我正在使用AKKA框架与Java进行并发,并具有以下用例
参与者在图形数据结构上运行,并按特定顺序在图形中的每个节点上工作,并且在处理节点之前不进行下一个节点
以下是相关代码
GraphProcessor:
if (msg instanceof processGraph) {
// For each level in the graph create a child at each level, for nodes on the same level create child actors simultaneously
BreadthFirstIterator bfs = new BreadthFirstIterator<>(graph);
while (bfs.hasNext()) {
ActorRef NodeProcesor = getContext().actorOf(NodeProcesor.props());
NodeProcesor.tell(send the node),
getSelf());
}
}
}
现在的问题是,当一个图的节点被处理时,一个新图可能会被移交给GraphProcessor,这会让演员混淆跟踪图的状态?如何正确维护此通知?