考虑A *算法的实现.-例如:
A* implementation
假设输入图非常庞大并且解决这个代码已经足够长了以至于我想到了这个代码崩溃之间的故障恢复.失败可能是任何 – 软件/硬件等.
我不是在寻找代码,而只是指出了解决这类恢复问题的常见解决方案
解决方法:
有几种选择:
>您可以重写算法以支持错误恢复.
例如,您可以将其拆分为任务并将这些任务提交到队列中.
因此,算法的主要部分只是从队列中获取任务并执行它们.
在执行期间,任务可以提交其他任务.
因此,要恢复,您只需重复执行失败的任务.
>执行字节码操作.
看看Javaflow的方法.
您可以在某个时刻暂停代码执行
然后你可以恢复它.
如果出现问题,您只需尝试重复从最后一点恢复.
请注意,在某些情况下,算法实现存在问题,
所以恢复是不可能的.
但是当外部组件出现问题时
(例如,您在数据库中存储的东西)
重复可能有所帮助
例如,数据库可能已关闭或与另一个事务存在写入冲突.