首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在servlet中使用renjin

在servlet中使用renjin
EN

Stack Overflow用户
提问于 2016-04-22 08:35:49
回答 1查看 105关注 0票数 0

我在R中训练了一个模型,并希望使用仁津在servlet中计算预测。预测总是使用相同的独特模型。

为了避免花费资源实例化renjin并为每个请求加载相同的模型,我考虑在servet启动时(在ServletContextListener中)实例化renjin并在单个对象中加载模型一次。

我的问题是:这样进行线程安全吗?当同时执行多个预测请求(使用同一个实例中加载的相同模型)时,它是如何与renjin一起工作的?这样做的正确方法是什么:我是否应该在renjin实例上使用一个锁来保证线程的安全?或者创建一个线程池来代替?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-22 13:29:33

不应使用单个Renjin会话同时评估多个脚本。

但是,您可以维护Renjin ScriptEngine对象池,也可以使用ThreadLocal简单地维护每个线程一个线程,就像我在RenjinServlet示例中所做的那样。

如果您不需要高级别的并发请求,那么同步访问单个ScriptEngine实例也是可行的。

但是,数据可以是共享会话,因此如果内存是问题,那么首先可以从类路径或WEB-INF加载模型,然后与每个ScriptEngine实例共享。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36788902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档