我正在构建一个 javascript api,它将使用 mozilla rhino 调用一些 java 对象。
一切都很好,但我想避免可能会减慢我的 Java 应用程序的无限循环。
例如(在 javascript 中):
while(true) doSomething(); // doSomthing will call a method in java
在现代浏览器中,一段时间后会出现一个错误,告诉脚本使应用程序运行缓慢,如果我想继续并停止脚本。
如果可能的话,我想在我的 Java 应用程序上实现它,但我不知道如何实现。 我能想到的唯一解决方案是计算每秒调用的方法数,如果数量很大就停止脚本。您还有其他想法吗?
最佳答案
计算方法调用对不调用任何方法的代码不起作用,例如:
while (true) {
i++;
}
我认为你想要的是observeInstructionCount().另见 discussion here - 他们正在讨论的一些内容看起来有点不确定,但可能对您有所帮助。
关于java脚本与mozilla rhino和内存管理问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5898863/