作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在多线程应用程序(例如每个 servlet 请求)中使用 Graal.js 的推荐方法是什么?我们像这样使用 Graal.js
jsContext = Context.newBuilder("js").allowAllAccess(true).build();
bindings = jsContext.getBindings("js");
jsContext.eval("js", jsCodeString);
我们是否应该为每个执行线程设置唯一的上下文/绑定(bind)。这可以通过上下文/绑定(bind)对池或使用线程本地来完成。这是执行此操作的正确方法吗?
最佳答案
您不应同时从多个线程访问一个Context
。因此,您提出的解决方案(Context
池或线程本地 Context
)是实现该目的的有效方法。
graalvm/graaljs
存储库 contains一些线程相关的例子。您可以在那里(在 ExecutorsTest 中)看到线程本地 Context
的用法。
仅供引用:有一个 blog-post关于使用 Graal JavaScript 的多线程,这可能会澄清您可能有的进一步问题。
关于javascript - Graal Javascript - 线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55661667/
我是一名优秀的程序员,十分优秀!