我将 Mathematica 与 JLink 一起用于一个涉及大量计算的研究项目。Mathematica 用作输入参数和绘制结果的图形前端。实际算法位于通过 JLink 调用的 Java 类中。
“链接”是一个名为 evalFrontend 的实例。在按下按钮时,会执行如下操作:
RunEvaluation[] := (
success = False;
results = evalFrontend@run[];
eval = evalFrontend@getEvaluation[];
success = eval@success[];
Return[results];
)
如果计算需要超过 10 秒,则会显示一个对话框:
Abort Dynamic:内核不响应动态评估。您可以选择中止并重新启动内核或继续等待。[..]
显示此内容时,Java 仍在运行。但是,再过一段时间,会显示另一个对话框:
禁用动态:一个或多个动态对象需要很长时间才能完成评估。您可以禁用进一步的动态评估或继续等待[...]
当这出现时,Java 进程被终止。
我怎样才能防止这种情况发生?任何提示将不胜感激。