- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 java 中运行一些 javascript。我不确定脚本是否正确,我想在一段时间后终止调用。这就是我运行脚本的方式。
returnMethod = invocableEngine.invokeFunction("main", input);
我的想法是运行类似守护线程的东西,它启动第二个线程并超时。第二个线程 - ScriptEvaluator 运行可调用函数,如上所述。 ScriptEvaluator 实现了 Runnable。
ScriptEvaluator se = new ScriptEvaluator(r);
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.invokeAll(Arrays.asList(Executors.callable(se)), timeout, TimeUnit.MILLISECONDS);
executor.shutdownNow();
好吧,这不起作用。超时后线程仍然运行。
另一个要求是只有一个 SkriptEvaluator 线程正在运行。
编辑:我在 shutdownNow() 中发现了一些非常有趣的东西。当它不能保证线程停止时,是否有保证的方法可以做到这一点?
There are no guarantees beyond best-effort attempts to stop processing actively executing tasks. For example, typical implementations will cancel via Thread.interrupt(), so any task that fails to respond to interrupts may never terminate.
提前致谢
最佳答案
您可以测试 ScriptEvaluator()
如何响应 Thread.interrupt()
。如果写得好,那么 executor.shutdownNow() 就会起作用。如果不是,那么就没有完美的解决方案。
但是,假设您的 javascript 与主代码交互不多,您可以使用 Thread.stop()。如果您决定这样做,请确保您了解 why not to use Thread.stop()一般来说。
关于java - 如何杀死java Invocable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7231209/
为什么Intellij会给出这个警告,这是什么意思,我怎样才能让它变得更好? import akka.actor.Props object Router { def props(config: C
我在两个类中使用react-native-image picker和react-native-image-crop picker库。 一个是启动库图像(react-native-image picke
晚上好, 我刚开始使用 Microsoft.Contracts(最新版本)并将其插入示例界面之上,现在它看起来像这样: namespace iRMA2.Core.Interfaces { us
我尝试制作用于 Symfony 2 上传的 ajax 脚本。Chrome 返回此错误: Uncaught TypeError: Illegal invocation jquery.min.js:4 我
我正在尝试在 java 中运行一些 javascript。我不确定脚本是否正确,我想在一段时间后终止调用。这就是我运行脚本的方式。 returnMethod = invocableEngine.inv
我正在为一个服务类编写 Spock 测试,该服务类的方法在 spring boot 应用程序中调用 Dao 类中的另一个方法。但是,我得到: Too few invocations for: 1
我们正在运行一个 Create React App (CRA) Web 应用程序,我们已向其中添加了 Google Analytics v4。我们使用 ga-4-react 启动分析npm 包。 in
我想将多个图像对象发布到 testphp.php。但控制台打印错误说非法调用。 我已经尝试过: submit $("#sub").click(function(){ // get th
当文本框为空时尝试禁用按钮时,我在 google chrome 控制台中收到此错误: function isEmpty() { var r = document.getElementById;
这是 html 这是脚本 $('#submit').click(function() { var files = $("[type='file']")[0].fil
我尝试通过ajax提交表单,下面是表单。 Date Upload File
我想弄乱 Speech Recognition API,所以我从简单的页面开始,该页面在单击 body 元素时开始识别。我的 scripts.js 文件是: var recognition = new
我在 Google 上进行了搜索,也浏览了 Stack 上提供的一系列类似问题,但不幸的是没有一个能帮助我解决问题。 下面是我正在做的事情,我从主视图调用 PartialView,但我的 Partia
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
为简单起见,我们来看一个非常简单的类: public class TestingClass { public void method1(){ System.out.printl
编辑:到目前为止建议的答案都不起作用。 我正在使用 django 运行此调用。第一次运行时,服务器返回“n_usr”(这会更改用户文件的形式)。第二次,它只是抛出一个非法调用错误。 function
每当我必须使用 gcloud 部署新的 python 函数时sdk 我收到这条消息 Allow unauthenticated invocations of new function [functio
这个问题已经有答案了: getUserMedia() in JavaScript normalizes across browsers. Illegal Invocation (1 个回答) 已关闭
我试图通过发布一些 xml 来登录来测试登录 Web 服务,但它再次出现此错误: 未捕获的类型错误:非法调用 这是代码: $(document).ready(function() { var da
function submit() { console.log('Submit!'); } function foo(callback, param) { console.log(ca
我是一名优秀的程序员,十分优秀!