Я использую Mathematica с JLink для исследовательского проекта, который требует много вычислений. Mathematica используется в качестве графического интерфейса для ввода параметров и последующего отображения результатов. Реальные алгоритмы находятся в классах Java, которые вызываются через JLink.
«Ссылка» - это экземпляр с именем evalFrontend. При нажатии кнопки выполняется что-то вроде этого:
RunEvaluation[] := (
success = False;
results = evalFrontend@run[];
eval = evalFrontend@getEvaluation[];
success = eval@success[];
Return[results];
)
Если для вычисления требуется более 10 секунд, отображается диалоговое окно:
Abort Dynamic: ядро не отвечает на динамическую оценку. Вы можете либо прервать и перезапустить ядро, либо продолжить ожидание. [..]
Пока это отображается, Java все еще работает. Однако через некоторое время появляется другое диалоговое окно:
Отключить динамический: для включения или более динамических объектов требуется слишком много времени для завершения оценки Вы можете отключить дальнейшие динамические оценки или продолжить ожидание [...]
Когда это появляется, процесс Java завершается.
Как я могу предотвратить это? Любые советы будут оценены.